-2

ここにjQueryコードがあります。

$('#signinform').live('submit',function() {
    alert("Submitting");
    $("#signinbutton").click();
});

フォームは次のようになります。

<form name="signinform" id="signinform" action="#" method="POST">
        <input type="text" class="rounded_login" name="studentid" id="studentid" placeholder="Student ID" required="required" maxlength="9 ">
        <input type="password" class="rounded_login" name="studentpassword" id="studentpassword" placeholder="SJSU One Password" required="required" tooltip="Password">
        <input type="hidden" name="signinmethod" id="signinmethod" value="manual">
        <div id="signinbutton">Sign In</div>
</form>

クリック イベントは正常に機能しますが、何らかの理由で送信が呼び出されません。私は何が欠けていますか?

PS: .live() と .submit() 関数の両方を試しました。

編集:うわー!私は自分自身を十分に明確にしていないと思います!ボタン/画像をクリックすると、コードが既に存在するか、フォームが送信されます。

$("#signinbutton").live('click',function (e) {
});

私がする必要があるのは、リターンキーを押して送信することです。それは起こっていません。また、スタイリングが台無しになるため、送信入力を追加できません。

4

7 に答える 7

3

「サインイン」div でフォーム送信をトリガーする場合は、次のように変更してみてください。

$('#signinform').live('submit',function() {
    alert("Submitting");
    $("#signinbutton").click();
});

$('#signinbutton').on('click',function() {
    alert("Submitting");
    $("#signinform").submit();
});

jsFiddle の例

そして、 gdoron が私に注意するように思い出させたように.live().on().

于 2013-02-13T22:11:53.710 に答える
1

やったほうがいい:

$("#signinform").trigger('submit');
于 2013-02-13T22:12:36.387 に答える
0

クリックで送信する必要があり、その逆ではありません。

$('#signinbutton').on('click',function() {
    $("#signinform").submit();
});
于 2013-02-13T22:14:00.840 に答える
0

HTMLコードを次のように修正する必要があります

<form name="signinform" id="signinform" action="#" method="POST">
        <input type="text" class="rounded_login" name="studentid" id="studentid" placeholder="Student ID" required="required" maxlength="9 ">
        <input type="password" class="rounded_login" name="studentpassword" id="studentpassword" placeholder="SJSU One Password" required="required" tooltip="Password">
        <input type="hidden" name="signinmethod" id="signinmethod" value="manual">
       <input type="submit">
</form>

また、.live()これはもう推奨されていませんが、使用する必要があります.on()。HTML コードを変更できない場合は、div のクリック ハンドラーで ID signinbuttonを使用してフォームを手動で送信できます。

$('#signinbutton').on('click',function()){
 $('#signinform').trigger('submit');
}
于 2013-02-13T22:14:45.243 に答える
0
<div id="signinbutton">Sign In</div>

これは実際には送信ボタンではありません。

このボタンにイベントを追加して、送信イベントを直接実行するか、実際の送信ボタンをその場所に作成できます。

于 2013-02-13T22:11:57.937 に答える
0

送信機能を内部に配置します。それはうまくいくはずです。

$(document).ready(function () {

    $("#signinbutton").submit();

});
于 2014-01-05T11:30:32.960 に答える
0

フォームにイベントを設定する場合は注意してください。フォームが以前に非表示になっていた場合、これらは機能しませんでした。

于 2013-02-13T22:32:38.787 に答える