1

フォームに少し問題があります。送信ボタンを 2 回押す必要があります。私のスクリプトは次のとおりです。

<script>  
function login(id) {
    jQuery("#form_" + id).submit(function () {

        var value_pin = jQuery(".pin_" + id).val();
    });
}
</script>

HTML

<form id="form_ini" name="form" method="post" action="?" onsubmit="login('ini');return false;">

<input name="pin_vps" id="cp_input" type="text" class="pin_vps" value="">
<input name="submit" type="submit" value="Send" id="submit"/>
</form>

これは、送信を2回押した後に機能します。そうでない場合、最終的に機能しません。

助けてくれてありがとう!

4

2 に答える 2

0

問題はreturn false、あなたのonsubmit属性にあるということです。これにより、フォームが送信されなくなります。を呼び出しますlogin()。これは、送信ハンドラーを、 を返さない新しい関数に置き換えますfalse。そのため、次回フォームを送信するときに機能します。

への変更:

function login(id) {
    var value_pin = jQuery(".pin_" + id).val();
    // Do something with value_pin
}

$(function() {
    $("#form_ini").submit(function() {
        login("ini");
    });
});

onsubmitから属性を削除します<form>

于 2013-08-30T23:02:07.850 に答える
0

詳細を提供する必要がありますが、これら2つのアプローチを試してください。フォームを送信する方法を示すためにアプローチを単純化しました。最初のクリックでイベントが設定され、falseを返すため、二重投稿する必要がある理由です。イベントを発生させるには、もう一度クリックします。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" > </script> 
</head>
<body>
<form id="form_1" name="form" method="post" action="?" onsubmit="return false;">
  <input name="pin_vps" id="cp_input" type="text" class="pin_vps" value="">
  <input name="submit" type="submit" value="Send" id="submit" data-ini="1" />
</form>


<script>  
$( document ).ready(function() {
   $("#form_1").submit(function () {
        alert("test");
    });
});
</script>
</body>
</html>

また

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" > </script> 
</head>
<body>
<form id="form_1" name="form" method="post" action="?">
  <input name="pin_vps" id="cp_input" type="text" class="pin_vps" value="">
  <input name="submit" type="button" value="Send" id="submit" data-ini="1" />
</form>


<script>  
$( document ).ready(function() {
    $("#submit").click(function () {
        var value_pin = $(this).data("ini");
    alert("test");
    });
});
</script>
</body>
</html>
于 2013-08-30T22:52:11.743 に答える