ajax异步提交form表单单发生改变了,可是form.isChanged还是false,问题在哪

jquery.form提交表单问题_百度知道
jquery.form提交表单问题
ajaxSubmit(options);#form&#39.submit(function(){
$(this);json'
$(&quot,这是什么问题;,
dataT#form&#form&quot: jAlert(&quot,就可以提交;): $('post&#39,操作提示&quot,但是进不去$(this);,&: '
return false,}代码如上;操作成功&,如果将$(this)外层的submit去掉function doSave(){
var options = {
type .clearForm())
}).ajaxSubmit(options),也就提交不了.serialize(););),$(&quot: &#39
提问者采纳
$(&#form&).submit是防止多次提交的输出他的返回值 看看是否老是false
这个返回值怎么得到,还有就是为什么上面的Options中的success会先执行,它不回调函数吗?
用输出语句呗你上面程序都用了jAlert
还有就是不是进不去$(this).ajaxSubmit(options),而是进不去$(&#form&).submit(function(){}这里进不去,而且上面的Options中的success会先执行,它不回调函数吗?你QQ多少我加你,帮个忙吧。
这句删除试试--------------我这里有网络限制只能上这个百度抱歉
function doSave(){var options = {type : 'post',data : $('#form').serialize(),dataType : 'json',success : jAlert(&操作成功&,&操作提示&,$(&#form&).clearForm())};$(&#form&).submit(function(){alert(&aaaaa&);$(this).ajaxSubmit(options);});}刚才删除return 也不行,我添加了一个alert进去,但是,它没有alert出来,程序依旧没反应。
提问者评价
相关专业回答
jquery提交表单也就是先找到那个表单对象即可。比如一个form表单,在form元素上面给一个id=&form&.那么提交该表单则为:$(&#form&).submit();这个是jquery内部提供的一个方法。
其他类似问题
为您推荐:
jquery的相关知识
其他1条回答
你看看有加载ajaxSubmit.js吗
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于表单项更新检测,后台按需更新
[问题点数:40分,结帖人crying_boy]
关于表单项更新检测,后台按需更新
[问题点数:40分,结帖人crying_boy]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年11月 Web 开发大版内专家分月排行榜第三
2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
优秀小版主2015年7月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2014年11月论坛优秀版主
2012年11月 Web 开发大版内专家分月排行榜第三
2012年11月 Web 开发大版内专家分月排行榜第三
2012年11月 Web 开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。通过JS改变复选框的值
j$(function(){
  document.getElementById(id).checked = true;
通过JS改变下拉列表框的值
j$(function(){
j$("#id").val("......"));
函数的主要目的是想知道表单中的值有没有被改变,原来的函数采用的是结构,在这里,我还是把代码贴出来吧:
function IsFormChanged(name) {
var isChanged = false;
var form = document.getElementById(name);
var form = document.forms[name];
for (var i = 0; i & form.elements. i++) {
var element = form.elements[i];
var type = element.
if (type == "text" || type == "hidden" || type == "textarea" || type == "button") {
if (element.value != element.defaultValue) {
isChanged = true;
alert("1");
} else if (type == "radio" || type == "checkbox") {
if (element.checked != element.defaultChecked) {
isChanged = true;
alert("2");
} else if (type == "select-one"|| type == "select-multiple") {
for (var j = 0; j & element.options. j++) {
if (element.options[j].selected != element.options[j].defaultSelected) {
isChanged = true;
alert("3");
alert( isChanged?"你改变了表单的默认值":"表单的值没有改变");
return isC
这个函数思路很清晰了,但是,我准备采用另外一个方式来重写它,我采用的是,于是,一开始,我把都改成,可是,发现不能验证,后来,我发现了:循环中使用,然后用的话,退出来的是结构,循环还要继续的,而我需要的是直接退回循环。上网找了一些解决办法,最后发现把部分的分离出来单独写成一个函数比较好,但是,考虑到这个函数最终只会在一个函数中使用,就是我们的判断表单默认值的函数,而且,由于项目开发的需要,我把一些公用的函数都封装起来,所以,最后我把函数改写成了如下的形式:
var Form={
IsFormChanged:function(id){
/*IsFormChangedCase这个函数我本来是放在外面的,和IsFormChanged的级别是一样的,      但是现在只有IsFormChanged这个函数使用这个,其原因是因为switch和for中都是用break的缘故,      所以,我最终把这个函数作为IsFormChanged函数的一个变量来使用。
var IsFormChangedCase=function(element){
var isChanged = false;
switch(element.type){
case "text":
case "hidden":
case "textarea":
case "button":
if(element.value != element.defaultValue)
isChanged= true;
case "radio":
case "checkbox":
if(element.checked != element.defaultChecked)
isChanged= true;
case "select-one":
case "select-multiple":
for (var j = 0; j & element.options. j++){
if(element.options[j].selected != element.options[j].defaultSelected){
isChanged= true;
return isC
var str=false;
var form = document.getElementById(id);
for (var i = 0; i & form.elements. i++){
var element = form.elements[i];
if(IsFormChangedCase(element)){
//这个只是测试函数
function test()
var ret=Form.IsFormChanged("frm2");
alert( ret?"你改变了表单的默认值":"表单的值没有改变");
阅读(...) 评论()jquery在表单return false了,可是还跳转,为什么??_百度知道
jquery在表单return false了,可是还跳转,为什么??
script type=&&2'&+&quot.html(&quot?;red';green'/ size='
$(&quot.click(function(){
$.html(&#jianyanname&quot,就是我天机一个分类;script&gt,则可以提交表单;javascript&+&quot,如果Ajax返回值是1就return false禁止提交表单;font&gt,{');/&&#jianyanname&您输入的分类可以添加&quot,为什么;&form&); size='return false&})。如果返回是0;&gt:$(&quot.php&);jianyancategory,
function(data){
/name'/);&font color='alert(data);+&以上是代码;text/
)?对了Ajax没有任何问题;&font&/ });#name&quot.ready(function(){ $(&quot.val()};&2'/);
if(data==0){
$(&);font color='&$(document).get(&;+&quot,可是不管返回1还是0就是直接跳转;&&您输入的分类已经存在&quot
提问者采纳
&+&quot.html(&quot,{&#39.get(& size=',你要用&&);&&+&quot.&&quot:$(&&lt.php&quot,
function(data){
if(data==0){
$(&name&#39.val()};$(&font color=&#39.click(function(){
$;#jianyanname&input type=&font&您输入的分类已经存在&/ /#jianyanname&&#name&2');submit&+&&;font&);+&quot.html(&
$(&);font color='& size=' id=&&您输入的分类可以添加&); value=&post&& });green'red'submit&);#post&
););/2&#39jQuery中的表单form是无法用return false阻止表单提交的;})
提问者评价
谢谢,试验了一遍,确实是你说的
其他类似问题
为您推荐:
其他2条回答
晕,你这不是逻辑问题吗?或者你form里有action,方法用错了
应该不是单击form产生事件!感觉应该是单击你的测试按钮触发你的这个Ajax事件!也就是把你代码中的form改成Button!
jquery的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁js怎样改变form的Action同时提交表单?很急!_百度知道
js怎样改变form的Action同时提交表单?很急!
如下forma,我想通过一个go()把form的Action设上地址,同时提交表单,应该怎么做?&form name=&form1& method=&post& action=&&&&table& &tr&
&td&&input type=&text& name=&a&)&&/td& &/tr&&tr&
&td&&input type=&button& value=&查查!&
onclick=go()&&/td& &/tr&&/table&&/form&我的go()是这样写的,可是不对,页面没有响应?function go() { var url=&categoryAction.do?id=1;
document.form1.action =穿浮扁簧壮毫憋桐铂昆
document.form1.submit();}我觉得没什么错啊!请高人指点!谢谢
提问者采纳
你加成绝对路径看看
提问者评价
是没问题,我吧form名引错了
其他类似问题
为您推荐:
其他4条回答
&form name=&form1& method=&post& action=&&&&table& &tr&
&td&&input type=&text& name=&a&)&&/td& &/tr&&tr&
&td&&input type=&button& value=&查查!&
onclick=&go()&&&/td& &/tr&&/table&&/form&我的go()是这样写的,可是不对,穿浮扁簧壮毫憋桐铂昆页面没有响应?&script language=&JavaScript&&function go() { var url=&categoryAction.do?id=1&;
document.form1.action =
document.form1.submit();}&/script&应该是这样的吧。呵呵
建议你要么把&form name=&form1& method=&post& action=&&&中action去掉,要么写成&form name=&form1& method=&post& action=&return false&&。var url=&categoryAction.do?id=1&;
页面控制应该写在小脚本里啊,写函数怎么行啊
没什么错误,应该是url引号没弄好吧
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 form submit false 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信