不能通过jquery改变表单动作
Cannot change form action via jquery
我试图在使用jquery提交期间将表单动作更改为另一个链接。请查看以下代码:
javascript$(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; ?>" />
虽然我似乎不能让它工作。
下面是一个工作示例:http://jsfiddle.net/RmKDT/4/
您可以通过警报看到操作正在发生变化。您只需要重新提交表单。
编辑:固定电位无限循环
$(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();
});
});
您的代码似乎很好。有几件事你可以试着让它工作。
-
确保您的脚本被拉入页面,检查的一种方法是在Chrome调试器中使用'sources'选项卡,并在html头部分
中搜索文件else 请确保在包含jQuery之后包含了datale脚本,因为它肯定依赖于jQuery。
检查jQuery是否正确且只包含一次
注意jQuery冲突。有一些其他库重写了$,所以你的代码不能工作,因为$不再是jQuery的别名了。您可以使用
jQuery.noConflict()
来避免与页面上使用相同变量$. 的其他库冲突。alert('?search='+submit.find("input[name='tsearch']").val())
查看你是否得到你想要的值
相关文章:
- 所选表单-当表单的值被选中时,如何更改变量值
- 如何正确地改变输入表单的值以引起“注意”;改变“;事件
- javascript不改变表单中的字段的简单数学
- 触发标准“;改变“;表单对象上的事件-由其上的任何侦听器拾取
- 使用javascript在iframe中发布表单,但iframe源不会随着文件的增大而改变
- 如何使url改变适当的单页jQuery登录,注册和忘记密码表单
- Rails:使用image_submit_tag改变表单在悬停时提交图像
- JS代码改变表单提交不工作
- Jquery改变css和表单数据
- 我如何使用图像链接提交表单,以改变与JS(没有JQuery)的表单动作
- jQuery ajax表单提交响应在重新提交时不改变
- 简单的方法使用getElementsByTagName来改变表单目标
- 如何用2个选项改变HTML表单到Javascript
- 表单动作改变javascript用户选项选择
- 改变地图API商店定位器库中搜索表单的位置
- 在ngDialog中提交表单后,Angular视图不会在作用域改变时更新
- 如何根据输入到表单中的内容改变Div的值
- 改变表单目标,重定向现有iframe
- 试图改变我的提交输入表单提交值
- 如何从拖放改变表单的值