2011-01-15 4 views
1

Ich habe dieses Stück Code hierAjax-Formular

<script> 
function req() { 
    $("div.formbut").hide("slow"); 
    $("div.inqform").show("slow"); 
var targetOffset = $(\'div.inqform\').offset().top; $(\'html,body\').animate({scrollTop: targetOffset}, 1000); 
    } 
$("submit2").click(req); 
$("form").submit(function() { 
    if ($("input").val() == "yes") { 
    $("p").show(4000, function() { 
     $(this).text("Ok, loaded! (now showing)"); 
    }); 
    } 
    $("div.rates").hide("slow"); 
    $("div.ratesbut").hide("slow"); 
    $("div.inqform").hide("slow"); 
    $("div.done").show("slow"); 
var targetOffset = $(\'div.done\').offset().top; $(\'html,body\').animate({scrollTop: targetOffset}, 1000);  
    return false; 
}); 
</script> 

die "div.inqform" hat eine kleine Form darin. Ich habe bemerkt, dass es nicht gepostet wird. Wie kann ich das eingereichte Formular erhalten, ohne das zu ruinieren, was ich bereits habe?

Vielen Dank im Voraus.

+0

Ich sehe keinen Ajax-Request-Code in dem, was Sie gebucht haben. – Sarfraz

+0

Warum haben Sie '\ '' in Ihrem Code? Das ist ungültige JS. –

Antwort

1

Was ist der Fehler, den Sie machen hier über ich denke, ist

$("submit2").click(req); // change this to $("#submit2").click(req); 
$("form").submit(function() { // change this to $("#form").submit(function() { 

Sie $("#submit2") für id = "submit2"

verwenden, und Sie haben $(".submit2") für Klasse verwenden =“ submit2 "

Entfernen Sie auch \' von Ihrem Code und versuchen Sie

0

Nun sieht es so aus, als ob Sie Prototype verwenden. Es gibt eine form.request -Methode, die Sie verwenden können, um ein Formular über AJax zu senden und den Antworttext zu erhalten.

Ihr Formular wird jedoch über Ajax geladen und dann in das Dom eingefügt. So können Sie auf einige Probleme stoßen, mit denen hier umgegangen wurde. Sie können auch die Codes von dieser Frage und Antwort nötig erhalten:

Can't access Elements previously created by innerHTML with Javascript/Prototype