我对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>
发布表单后我所知道的是“表单已提交”,我不知道按钮点击后还有什么用处和处理过。有人可以告诉我更多关于此的事情吗?
答案 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()
)