2011-07-23 32 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