我从这里使用 jquery.form.js:http: //www.malsup.com/jquery/form/。我想在提交之前验证表单中文本输入的文本。验证转到“search_validate.php”。这部分工作正常。如果验证通过,则更改表单操作。这也有效。
更改操作属性后无法正常提交表单。浏览器永远不会进入“/videos/search/”页面。它保持在同一页面上。我一遍又一遍地看到在 Firebug 中加载“/videos/search/”页面。
<form id="search" method="post" action="">
<input type="text" id="query" />
<input type="image" id="searchmag" src="blah.jpg" ?>
</form>
<script>
$(function(){
$('#searchmag').click(function(){
$('#search').attr('action','/search_validate.php');
$('#search').ajaxForm(function(data, textStatus){
if ((data.indexOf('letters & numbers only')>-1)) {
$('#query').css('color','#FF0000').val(data);
$("#query").unbind("click").click(function(){
$('#query').css('color','#848484').val('');
});
} else {
$('#search').attr('action','/videos/search/' + $('#query').val());
$('#search').submit();
}
});
});
});
</script>