2011-07-23 43 views
0

我有简单的形式:取消提交按钮,然后执行JS代码

  <form id="loginform" name="loginform" action="" method="post"> 
      <div data-role="fieldcontain"> 
       <label for="login">Login:</label> 
       <input type="text" name="login" id="login" value="" /> 
      </div> 
      <div data-role="fieldcontain"> 
       <label for="password">Password:</label> 
       <input type="password" name="password" id="password" value="" /> 
      </div> 
      <div class="ui-body"> 
       <fieldset class="ui-grid-a"> 
        <div class="ui-block-a"><button type="button" class="exitapp">Close</button></div> 
        <div class="ui-block-b"><button type="submit" id="elogin" onclick="return false;">Login</button></div> 
       </fieldset> 
    </div> 
     </form> 

而且在jQuery Mobile的一些代码。如果按在Firefox的形式输入按钮没有提交 - 这是伟大的,但在Android模拟器它提出,它不能用我的JS代码:(如何才能修复这个

+1

如果您发布了您正在讨论的代码,这将会非常有帮助。 – karim79

回答

1
$("form").submit(function(){ 
    //do your js code 
    return false; 
}); 
+0

它运行良好,但只在桌面浏览器上,而不是在Android模拟器上。我发现这个技巧: 在FORM动作中,我们必须使用一些JS函数,例如。 action =“javascript:elogin();” 在我的应用程序我只使用JS - 没有这个我的应用程序不工作=我不需要正常的窗体操作。 – procek

+0

我认为你的android模拟器没有启用JS ... – genesis

0

我发现这个工作,但我?总是我的Android设备,而不是在模拟器上测试...:

 
<form action"..." method="..." onSubmit="return check_form();"> 
... 
</form> 
 
function ckeck_form() { 
    ... 
    if (error === true) { 
     return false; 
    } else { 
     return true; 
    } 
} 
0
$('#loginform').submit(function(e) { 
    e.preventDefault(); 
}); 

preventDefault()更多信息,请参见MDN