Php 无法通过jquery更改表单操作
我试图在使用jquery提交期间将表单操作更改为另一个链接。请查看以下代码: javascriptPhp 无法通过jquery更改表单操作,php,javascript,jquery,forms,submit,Php,Javascript,Jquery,Forms,Submit,我试图在使用jquery提交期间将表单操作更改为另一个链接。请查看以下代码: javascript $(document).ready(function(){ $("form[name='search']").submit(function(e){ var submit=$(this); submit.attr('action','?search='+submit.find("input[name='tsearch']").val()); });
$(document).ready(function(){
$("form[name='search']").submit(function(e){
var submit=$(this);
submit.attr('action','?search='+submit.find("input[name='tsearch']").val());
});
});
HTML/PHP
<form name="search" method="post">
<input class="inputbox" type="text" name="tsearch" value="<?php echo $text_search; ?>" />
您的代码似乎很好。有几件事你可以试着让它工作
确保您的脚本被拉入页面,检查的一种方法是使用Chrome调试器中的“源”选项卡,并在html头部分搜索其他文件
确保在包含jQuery之后包含了datatale脚本,因为它完全依赖于jQuery
检查jQuery是否正确包含,并且只包含一次
注意jQuery冲突。还有其他一些库正在重写$,因此您的代码无法工作,因为$不再是jQuery的别名。可以使用jQuery.noConflict()
避免与页面上使用相同变量$的其他库发生冲突
alert(“?search=”+submit.find(“input[name='tsearch']”)val())
查看您是否获得了所需的值
下面是一个工作示例:
您可以通过警报看到操作正在更改。您只需重新提交表单即可
编辑:固定电位无限循环
$(function(){
var submitted = false;
$('form').submit(function(e){
if (submitted == true) {
return;
}
e.preventDefault();
var action = $(this).attr('action');
alert(action);
$(this).attr('action', 'two.php');
action = $(this).attr('action');
alert(action);
submitted = true;
// resubmit the form
$(this).submit();
});
});
嗨,大孙,谢谢你的肯定。我相信这是一个无限循环!是的,亚历山大。这是一个无限循环。e.preventDefault()是不必要的。只需添加操作即可。@Alexander-修复了无限循环