編輯 - 剛剛意識到這已不再是新iOS的問題。我沒有更新我的手機,但這對我的iPad工作正常,所以我假設如果我更新,它會正常工作。謝謝。當iphone按鈕被按下時,jquery不會提交
這個問題已被問了幾次,但接受的答案是不適合我。我希望有人可以發現一些愚蠢的錯誤,而不是回來「只使用輸入類型=提交」。
我想在登錄表單上做ajax驗證,所以登錄表單沒有提交按鈕,而是一個輸入類型=「按鈕」,當點擊時調用javascript。然而,當使用iphone時,點擊「GO」按鈕會對錶單進行文字提交(它發佈到同一頁面並將變量放入queryline中)。
實際上,點擊(觸摸)按鈕的確能正常工作。只有使用GO按鈕會使它變得混亂。
這裏是我的表單代碼:
<form name="loginform" id="loginform">
<table>
<tr><td>Username:</td><td><input type="text" id="username" name="username" /></td></tr>
<tr><td>Password:</td><td><input type="password" id="password" name="password" /></td></tr>
<tr><td></td><td align="right"><button type="button" id="login">Login</button></td></tr>
</table>
</form>
,這裏是我的javascript:
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<script language="javascript">
$(document).ready(function(){
$(window).load(function(){
$("#login").click(function() {
checkanswers();
});
$("#username, #password").keyup(function(event){
if(event.keyCode==13){
checkanswers();
}
});
$("#loginform").submit(function() {
checkanswers();
});
});
});
</script>
任何幫助表示讚賞!
無需爲$(窗口).load據我可以告訴;您的代碼不會依賴任何異步加載的資源來完全呈現和解釋。 –
我的印象是,如果它與用戶輸入(如鍵入或點擊)有關,那麼這些更好地在window.load部分中提供。這不準確嗎? –
不,該元素只需要在文檔模型中。 $(window).load可以工作,但你不需要文檔就緒功能。選擇一個,但我認爲文檔準備工作會更好。對不起,我沒有回答你的GO問題,順便說一下。不熟悉iOS的「GO」如何工作。 –