Javascript功能和提交信息

时间:2012-03-22 02:04:41

标签: php javascript jquery forms smarty

我对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 个答案:

答案 0 :(得分:1)

使用jQuery绑定整个表单提交事件而不是onclick,这样您就不必担心用户在文本字段上按Enter键并提交表单

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()