0

フォームでjqueryを使用して.submit()も、まったく効果がありません。私は自分のサイトで他のJavaScriptをチェックして、メソッドが上書きされていないことを確認しました。コンソールも空で、エラーはありません。私のコード:

<form method='POST' id='manualform'>
                <input type="submit" value="submit" name="submit" id="hiddensubmit" style="display:none;"/>
                    <div>$MANUAL$</div>
                    <div class="space20"></div>
                    <input class="required email" id="emailinput" type="text" name="email" placeholder="meno@email.com" style="font-family:arial;font-size:12px;color:white;width:250px;height:40px;background-color:black;opacity:0.5;padding-left:10px;" />
                    <div class="space20"></div>
                    <div
                        style="height: 50px; width: 300px; background-image: url('img/wow_img_pdf_icon.png'); background-repeat: no-repeat; background-position: 10px top; padding-top: 5px;">
                        <a id="action3" style="display: block; margin-left: 110px;"
                            >$STAHNOUT$</a>

                    </div>
                </form>

jquery:

$(document).ready(function() {
            $('#action2').scrollToFixed({
                marginTop: 20,
                fixed: function(){$('#hiddenfixed').css('display','');$('#action2').css('background-position','bottom');}   ,
                preUnfixed :function(){$('#hiddenfixed').css('display','none');$('#action2').css('background-position','top');} 
            });

            $('#action3').click(function(){     
                $('#manualform').validate({                 

                });             
                if(!($('#manualform').valid())) return false;
                else {
                    $('#hiddensubmit').attr('value','submit');
                    $('#manualform').submit();
                }                   
            });
        });

送信イベントをで再定義しようとしても$('#manualform').submit(function(){alert(1);});、まったく効果がありません。私は本当に神経が端にあるので必死です、助けてください

4

3 に答える 3

1

私は今日この問題を抱えていましたが、あなたの例と同じように、送信ボタンの名前属性が「送信」であることが原因であることがわかりました。

新しいバージョンのjQueryでこれをテストしていませんが、jQuery1.4.2をまだ使用しているレガシーサイトで作業しているときにこれを確認しました。

于 2017-12-22T16:17:48.657 に答える
0
  1. クリック関数の外で検証呼び出しを行います。ページの読み込み時に1回だけ呼び出す必要があります。

http://jsfiddle.net/samliew/n4MRM/

$('#manualform').validate();

$('#action3').click(function() {
    console.log('link clicked');
    if($('#manualform').valid()) {
        $('#hiddensubmit').attr('value', 'submit');
        console.log('form submitted');
        $('#manualform').submit();
    }
});
于 2013-03-25T10:20:23.850 に答える
0

$('#manualform').submit();これに対する私の回避策: doの代わりに$('#hiddensubmit').click();

私の推測では、他のJavaScriptがsubmit()呼び出しを再宣言した可能性がありますが、見つかりませんでした。まだ私には謎のままです。

于 2013-03-25T10:38:55.867 に答える