В блоке jQuery 'ready' у меня есть:
// bind print work order button to form submit
$('#print_work_order_button').click(function(){
$('#print_work_order_form').submit();
});
... и в HTML (игнорируйте код замены переменной ... он работает нормально):
<form id="print_work_order_form" method="post" action="<TMPL_VAR NAME=SCRIPT_NAME>" target="_blank">
<input type="hidden" name="action" value="printWorkOrder">
<input type="hidden" name="case_id" value="<TMPL_VAR NAME=ID>">
<input type="hidden" name="session_id" value="<TMPL_VAR NAME=SESSION_ID>">
</form>
Однако, когда я нажимаю следующую кнопку:
<input id="print_work_order_button" type="button" value="Print Work Order">
... отправляется другая форма.Отправляемая форма - case_form, которая также проверяется в блоке готовности jQuery:
// validate main form
$('#case_form').validate({
debug: false,
rules: {
phone: {
phoneUS: true,
required: true
}
[more rules etc...]
},
messages: {
phone: '555-555-5555',
client_group_id: 'X',
description: 'X',
backup_data: 'X',
first_name: 'X',
last_name: 'X',
email: 'X'
},
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field.'
: 'You missed ' + errors + ' fields.';
displayMessage(message);
}
},
submitHandler: function(form) {
displayMessage('Saving and syncing with Remedy... we appreciate your patience.', '1');
form.submit();
}
});
Мое единственное недавнее изменение - перемещение этой процедуры проверки в блок 'ready', поэтому я думаю, что этопроблема, но я не знаю, как исправить.Мне нужно проверить в блоке «ready», чтобы это работало ... так как мне исправить мою другую, не связанную форму отправки?
ПРИМЕЧАНИЕ: как ни странно, это похоже на ошибку только в Safari.Я не могу воспроизвести в любом другом браузере.