Jquery Ajax提交表单两次
在这个论坛上没有一个案例对我有帮助。我做了所有被引用的选择,比如Jquery Ajax提交表单两次,jquery,ajax,forms,submit,Jquery,Ajax,Forms,Submit,在这个论坛上没有一个案例对我有帮助。我做了所有被引用的选择,比如 $(this).unbind("click"); e.stopPropagation(); e.preventDefault(); return false; $('form').unbind("submit"); onsubmit="return false; etc... 我到处都试过了。他们都没有为我的案子工作。请帮帮我,我只是需要尽快启动这个项目 这是我的密码: <form class="form-horizont
$(this).unbind("click");
e.stopPropagation();
e.preventDefault();
return false;
$('form').unbind("submit");
onsubmit="return false;
etc...
我到处都试过了。他们都没有为我的案子工作。请帮帮我,我只是需要尽快启动这个项目
这是我的密码:
<form class="form-horizontal" method="post" id="payment">
<fieldset id="pincode_fieldset" <?php echo ($user->pincode=="" || $user->pincode_error==3)? "disabled":""; ?>>
<input type="text" class="form-control" id="username" name="username">
<input type="text" class="form-control" id="password" name="password">
<input type="text" class="form-control" id="deposit" name="deposit">
<a type="submit" id="submit_btn" class="btn btn-primary btn-small pull-right">Pay</a>
</fieldset>
</form>
<script>
//payment confirmation;
function confirmPayment(){
$("#username2").text($("#username").val());
$("#deposit2").text("€"+$("#deposit").val());
$('#confirmModal').modal('show');
$("#confirm_btn").click(function(e){
$("#modal_content").hide();
//$(this).unbind("click");
submitForm('#payment','payment.php', true, true);
//e.stopPropagation();
});
$("#back_btn").click(function(){
$('#confirmModal').modal('hide');
$(document).ready(function(){
$('#modal_content').show('slow');
});
});
//$('form').unbind("submit");
return false;
}
$("#payment").submit(function(){
confirmPayment();
return false;
});
</script>
submitForm()是否一次又一次地提交取决于我在#submit_btn上的单击。我需要给用户在提交前确认的选项。请帮助我,我无法解决这个问题。我会这样做,(I)取消对用作提交按钮的
元素的单击,以及(ii)在顶层绑定小部件操作,使用模态/确定按钮实际提交表单
<form class="form-horizontal" method="post" id="payment" action="payment.php">
...
<a type="submit" id="submit_btn" class="btn btn-primary btn-small pull-right">Pay</a>
...
</form>
<script>
$(document).ready(function () {
$("#confirm_btn").click(function (e) {
$('#payment').submit();
$("#confirmModal").hide();
});
$("#back_btn").click(function () {
$('#confirmModal').modal('hide');
});
function displayModal() {
$("#username2").text($("#username").val());
$("#deposit2").text("€" + $("#deposit").val());
$('#confirmModal').modal('show');
}
// clicking on the submit button shouldn't submit, but just
// display the modal.
$("#submit_btn").click(function () {
displayModal();
return false;
});
});
</script>
...
支付
...
$(文档).ready(函数(){
$(“#确认”)。单击(功能(e){
$(“#付款”)。提交();
$(“#confirmModal”).hide();
});
$(“#返回”_btn”)。单击(函数(){
$('confirmModal').modal('hide');
});
函数displaymodel(){
$(“#username2”).text($(“#username”).val());
$(“#存款2”).text(€“+$(“#存款”).val());
$('confirmModal').modal('show');
}
//单击“提交”按钮不应提交,只需
//显示模式。
$(“#提交”_btn”)。单击(函数(){
displaymodel();
返回false;
});
});
上次我自己解决了这个问题。
我刚刚将confirmPayment()一分为二,它成功了:
<script>
//payment confirmation;
function confirmPayment()
{
$("#username2").text($("#username").val());
$("#deposit2").text("€"+$("#deposit").val());
$('#confirmModal').modal('show');
}
$(document).ready(function(){
$("#confirm_btn").click(function(e){
$("#modal_content").hide();
submitForm('#payment','payment.php', true, true);
});
$("#back_btn").click(function(){
$('#confirmModal').modal('hide');
$(document).ready(function(){
$('#modal_content').show('slow');
});
});
return false;
});
$("#payment").submit(function(){
confirmPayment();
return false;
});
</script>
//付款确认;
函数confirmPayment()
{
$(“#username2”).text($(“#username”).val());
$(“#存款2”).text(€“+$(“#存款”).val());
$('confirmModal').modal('show');
}
$(文档).ready(函数(){
$(“#确认”)。单击(功能(e){
$(“#模式内容”).hide();
submitForm(“#payment”,“payment.php”,true,true);
});
$(“#back_btn”)。单击(函数(){
$('confirmModal').modal('hide');
$(文档).ready(函数(){
$('modal#u content')。show('slow');
});
});
返回false;
});
$(“#付款”)。提交(函数(){
确认付款();
返回false;
});
您真的需要确认用户想要做他们刚刚做的事情吗?这不是很烦人吗?是的,因为用户名必须确定。否则,转账的款项将无法退还。如果用户名上有输入错误,并且该用户名存在,则该款项将被错误地转账到该用户名。因此,我需要用户在转账前再次确认。您确定他们不确定,因为他们刚刚输入了大量数据并单击了提交?(我可以继续,但它很快就会变得非常烦人。)我认为您的基本问题是,confirmPayment()
函数同时确认、提交和设置事件处理程序(由于缩进不可靠,有点难以判断发生了什么)。您可以去掉所有模式,只需说$(“#支付”)。提交(函数(){return confirm(“…”;});
。请仔细检查您没有两次引用任何jquery或ajax库。您是对的。但我使用ajax。submitForm(“#payment”,“payment.php”,true,true);是ajax提交。无论如何,感谢您的帮助。我解决了上面给出的问题。
<script>
//payment confirmation;
function confirmPayment()
{
$("#username2").text($("#username").val());
$("#deposit2").text("€"+$("#deposit").val());
$('#confirmModal').modal('show');
}
$(document).ready(function(){
$("#confirm_btn").click(function(e){
$("#modal_content").hide();
submitForm('#payment','payment.php', true, true);
});
$("#back_btn").click(function(){
$('#confirmModal').modal('hide');
$(document).ready(function(){
$('#modal_content').show('slow');
});
});
return false;
});
$("#payment").submit(function(){
confirmPayment();
return false;
});
</script>