एक फॉर्म जमा करने के बाद, डेटा को jQuery में AJAX कॉल पर पोस्ट किया जाता है। प्रपत्र में डेटा एक भिन्न इनपुट प्रकार और एक नए सबमिट बटन के साथ ताज़ा किया जाता है।

पहला एचटीएमएल फॉर्म:

<form id="firstform">
<textarea id="firsttext"></textarea>
<input type="submit" id="firstsubmitbutton" value="send">
</form>

इस jQuery के लिए पोस्ट:

$('#firstsubmitbutton').click(function(event){
event.preventDefault();
var cpm = $.trim($("#firsttext").val());
$.ajax({
type: "POST",
url: "result.php",
data:{ myvar: cpm }, 
success: function(data){
    $('#firstform').fadeOut('slow', function() {
       html(data).fadeIn('slow');
    });
}
});

Result.php में इनपुट प्रकारों को बदलने के लिए नया डेटा लोड किया गया है:

echo "<input type='text' id='secondformvalue'>";
echo "<input type='submit' id='submitsecondform' value='Send second form!'>";

लेकिन तब यह jQuery जवाब नहीं देता

$('#submitsecondform').click(function(event){
alert('second form posted');
});

मुझे काम करने के लिए नया सबमिट-बटन नहीं मिल रहा है, क्योंकि यह प्रारंभिक लोड में ज्ञात नहीं है।

दूसरे फॉर्म को भी काम करने के लिए अलग-अलग तरीके से क्या जोड़ा या लिखा जाना है? (और एक तिहाई, चौथा, आदि?)

0
Aiken 27 अक्टूबर 2019, 18:34

1 उत्तर

सबसे बढ़िया उत्तर

जब जावा स्क्रिप्ट को पहली बार लोड किया गया तो फॉर्म मौजूद नहीं था इसलिए click ईवेंट हैंडलर को आवश्यकतानुसार पंजीकृत नहीं किया जा सका।

इसके समाधान के लिए आप इसके बजाय body तत्व पर ईवेंट को पंजीकृत कर सकते हैं।

आपके उपयोग के मामले में निम्न की तरह कुछ काम करना चाहिए:

$('body').on('click', '#submitsecondform', function() {
    alert('second form posted');
});
2
mrbm 27 अक्टूबर 2019, 16:06