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

您需要提供更多详细信息,但请尝试这两种方法,我简化了您的方法只是为了向您展示如何提交表单,您需要双重发布的原因是因为第一次点击设置了事件并且您返回 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 回答