2013-12-09 32 views
0

正如您所看到的,JavaScript会进行一次验证。它检查输入是否有文本。jQuery页面有时会加载,有时候不是

会发生什么情况是,如果我刷新页面,在输入中插入一些内容并提交表单,的作品很棒。但是,如果我刷新页面,没有在搜索中插入任何内容,并提交表单,它什么也没有发生(和多数民众赞成在..),但在此之后,如果我在输入搜索插入的东西它不验证。要再次工作,我必须再次刷新页面,我该如何避免这种情况?

<form id="page-main-add-form" style="display:inline;" method="POST"> 
     <table style="margin-left:0px" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td><input id="page-main-add-post-btn" value="new" type="submit" data-role="none"/></td> 
       <td style="width: 100%"><input id="page-main-add-post-box" size="40" type="text" data-role="none"/></td> 
      </tr> 
     </table> 
    </form> 

$('#page-main-add-form').submit(function() { 
    var value = $('#page-main-add-post-box').val(); 
    if(value != ''){ 
     $('#page-add-value-box').val(value); 
     $.mobile.changePage($("#page-add"), "slideUp"); 
     return false; 
    } 
}); 

编辑:解决了病情后location.reload();

回答

0

试试这个变化不大,Working Demo

$('#page-main-add-form').submit(function(e) { 
var value = $('#page-main-add-post-box').val(); 
if(value === ""){ 
    e.preventDefault(); //just cancelling the default action of your form 
    $('#page-add-value-box').val(value); 
    $.mobile.changePage($("#page-add"), "slideUp"); 
} 
}); 

我所做的是取消提交处理程序的唯一默认的行动,并把它放在它验证输入文本框的值之后。我可以在这里放入return false,但这会阻止代码进一步传播。如果您仍然有任何问题,请留下评论。希望有所帮助。

+0

这不起作用。它有我一开始就遇到的同样的错误。看看我的回答,谢谢。 – user3065191

+0

什么是$ .mobile.changePage($(“#page-add”),“slideUp”)'在做什么? – Rohit416

相关问题