मुझे पता है कि इस प्रश्न का उत्तर कुछ सौ बार दिया गया है, लेकिन मैंने संभावित सोल्यूटन के भार से भाग लिया है, लेकिन उनमें से कोई भी मेरे उदाहरण में काम नहीं कर रहा है।jQuery सबमिट करने वाला फॉर्म दो बार
नीचे फ़ॉर्म सबमिट करने के लिए मेरा फॉर्म और कोड है। यह एक PHP स्क्रिप्ट के लिए आग लगती है। अब मुझे पता है कि स्क्रिप्ट स्वयं सबमिट का कारण नहीं है, क्योंकि मैंने मैन्युअल रूप से फॉर्म की कोशिश की है और यह केवल एक बार सबमिट करता है।
jQuery कोड का पहला भाग एक लाइटबॉक्स खोलने और नीचे तालिका से मूल्य खींचने से संबंधित है, मैंने इसे किसी भी संभावित समस्या के मामले में शामिल किया है।
jQuery कोड:
$(document).ready(function(){
$('.form_error').hide();
$('a.launch-1').click(function() {
var launcher = $(this).attr('id'),
launcher = launcher.split('_');
launcher, launcher[1], $('td .'+launcher[1]);
$('.'+launcher[1]).each(function(){
var field = $(this).attr('data-name'),
fieldValue = $(this).html();
if(field === 'InvoiceID'){
$("#previouspaymentsload").load("functions/invoicing_payments_received.php?invoice="+fieldValue, null, function() {
$("#previouspaymentsloader").hide();
});
} else if(field === 'InvoiceNumber'){
$("#addinvoicenum").html(fieldValue);
}
$('#'+field).val(fieldValue);
});
});
$("#addpayment_submit").click(function(event) {
$('.form_error').hide();
var amount = $("input#amount").val();
if (amount == "") {
$("#amount_error").show();
$("input#amount").focus();
return false;
}
date = $("input#date").val();
if (date == "") {
$("#date_error").show();
$("input#date").focus();
return false;
}
credit = $("input#credit").val();
invoiceID = $("input#InvoiceID").val();
by = $("input#by").val();
dataString = 'amount='+ amount + '&date=' + date + '&credit=' + credit + '&InvoiceID=' + invoiceID + '&by=' + by;
$.ajax({
type: "POST",
url: "functions/invoicing_payments_make.php",
data: dataString,
success: function(result) {
if(result == 1){
$('#payment_window_message_success').fadeIn(300);
$('#payment_window_message_success').delay(5000).fadeOut(700);
return false;
} else {
$('#payment_window_message_error_mes').html(result);
$('#payment_window_message_error').fadeIn(300);
$('#payment_window_message_error').delay(5000).fadeOut(700);
return false;
}
},
error: function() {
$('#payment_window_message_error_mes').html("An error occured, form was not submitted");
$('#payment_window_message_error').fadeIn(300);
$('#payment_window_message_error').delay(5000).fadeOut(700);
}
});
return false;
});
});
यहाँ एचटीएमएल रूप है:
<div id="makepayment_form">
<form name="payment" id="payment" class="halfboxform">
<input type="hidden" name="InvoiceID" id="InvoiceID" />
<input type="hidden" name="by" id="by" value="<?php echo $userInfo_ID; ?>" />
<fieldset>
<label for="amount" class="label">Amount:</label>
<input type="text" id="amount" name="amount" value="0.00" />
<p class="form_error clearb red input" id="amount_error">This field is required.</p>
<label for="credit" class="label">Credit:</label>
<input type="text" id="credit" name="credit" />
<label for="amount" class="label">Date:</label>
<input type="text" id="date" name="date" />
<p class="form_error clearb red input" id="date_error">This field is required.</p>
</fieldset>
<input type="submit" class="submit" value="Add Payment" id="addpayment_submit">
</form>
</div>
आशा किसी को अपने ड्राइविंग मुझे पागल के रूप में कर सकते हैं। धन्यवाद।
इसे '$ ("# makepayment_form") में बदलने का प्रयास करें। सबमिट करें (फ़ंक्शन (ईवेंट) {event.preventDefault();' अपने सबमिट बटन को टैक्ट में छोड़ दें। – Dave
उपर्युक्त में परिवर्तन का प्रयास किया, लेकिन यह वही किया बात –