2011-11-08 8 views
0

EDIT - これは新しいiOSの問題ではなくなりました。私は私の携帯電話を更新していないが、これは私のiPadでうまくいくので、私が更新すればうまくいくと思う。ありがとう。iphone GOボタンを押したときにjqueryが送信されない

この質問は何度か尋ねられましたが、受け入れられた回答が私のために働いていません。私は誰かが間違ったエラーを見つけて、 "ちょうどinput type = submitを使う"と戻ってくることを期待しています。

ログインフォームにajax検証を実行しようとしているので、ログインフォームには送信ボタンがありませんが、入力タイプ= "ボタン"をクリックするとjavascriptが呼び出されます。しかし、iPhoneを使用している場合は、「GO」ボタンを押すと、フォームのリテラル送信が行われます(同じページに投稿され、変数がクエランラインに配置されます)。

実際にボタンをクリック(タッチ)すると正しく動作します。 「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> 

+0

$(ウィンドウ)の必要は私の知る限り.LOAD。あなたのコードは、非同期的に読み込まれたリソースに依存せず、完全に表示され、説明されます。 –

+0

私は、ユーザー入力(キーアップやクリックなど)と関連していれば、window.loadセクションでよりうまく機能しているという印象を受けました。それは正確ではないのですか? –

+0

いいえ、要素はドキュメントモデル内にある必要があります。 $(window).loadは動作しますが、ドキュメントレディ機能は必要ありません。 1つを選択してください、しかし、ドキュメントの準備がうまくいくと思います。申し訳ありませんが、あなたのGO質問に対する回答はありません。 iOSの "GO"の仕組みに慣れていない –

答えて

0

あなたは、ボタンを提出し、あなたがこれを行うことがsubmitボタンのonclickのイベントに持つことができます。

onClick="validate();return false;" 

は、[検証関数の戻り trueに検証が成功した場合。

0

フォームにアクションを追加すると、フォームに<input type="submit" />を追加するか、動作させる可能性があります。

0

このお試しください:

$("html").off("keypress").on("keypress", function (e) { 
    var which = e.which, 
    keyCode = e.keyCode; 
    if (((which && which === 13) || (keyCode && keyCode === 13))) { 
     e.preventDefault(); 
      //Submit your stuff here. 
    } 
}); 
関連する問題