Функция Javascript и предоставление информации - PullRequest
0 голосов
/ 22 марта 2012

У меня есть небольшая проблема с проблемой отправки формы javascript, вот сценарий

function search(val1, val2)
{
    var f=document.search_form;
    $("#val1").val(val1);
    $("#val2").val(val2);
    f.submit();
}

, а вот форма

<form name="search_form" action="val/search/" method="get">
    <input type="hidden" id="search_val1" name="search[val1]" value="">
    <input type="hidden" id="search_val2" name="search[val2]" value="">
......
    <input name="" type="button" value="Click" onclick="search({$smarty.const.VAL1}, {$smarty.const.VAL2});">
</form>

Что я знаю после публикации формы "Форма отправлена ​​", я не знаю, что еще используется и обрабатывается после нажатия кнопки.Может ли кто-нибудь сказать мне что-нибудь еще об этом?

1 Ответ

1 голос
/ 22 марта 2012

Используйте jQuery, чтобы связать событие отправки всей формы вместо onclick, чтобы вам не приходилось беспокоиться о пользователях, нажимающих ввод в текстовом поле и отправляющих форму

function search(val1, val2)
{
    var f=document.search_form;
    $("#val1").val(val1);
    $("#val2").val(val2);
    f.submit();
}

$('form[name=search_form]').submit(function(e) {
   search("{$smarty.const.VAL1}", "{$smarty.const.VAL2}");
});

После запуска вышеупомянутого браузер вызовет обычную отправку на val/search/, поскольку вы не говорите ему остановить событие по умолчанию (via e.preventDefault())

...