2012-11-06 2 views
2

J'ai une forme comme ceci:Comment soumettre un formulaire avec fieldset spécifique

<form name="paymentForm" id="paymentForm" action="/submit.jsp" method="post"> 
    <fieldset id="ccData"> 
     <input id="ccNumber" name="ccNumber"/> 
    </fieldset> 
    <fieldset id="otherData"> 
     <input id="requestId" name="requestId"/> 
    </fieldset> 
</form> 

Lorsque vous soumettez lisse, je voudrais présenter (via ajax) ne #ccData filedset à une autre URL (par exemple submitCC .jsp) et sur la base de la réponse, je souhaite soumettre le formulaire complet à l'URL réelle.

Comment puis-je y parvenir?

+0

votre question est très générale, alors voici une réponse très générale: utiliser javascript/ajax. – dqhendricks

+0

@undefined La seule chose que j'ai essayée était de supprimer un fieldset puis de soumettre le formulaire. Ce qui n'est pas idéal. – priyank

Répondre

2

serialize Utiliser jQuery méthode

var formData = $("#ccData").serialize()​; 
$.post("TheUrl",formData); 
0

Vous pouvez le faire avec JavaScript - jQuery par exemple. Vous construisez une eventHandler comme

$('#paymentForm').on('click', function() { 
    $(this).preventDefault(); 
    if ($(this).hasClass('first_send')) { 
    $.ajax({ 
     url: "your_url", 
     data: { ccData: $('#ccData').val()} 
    }).done(function (data) { 
     $('#paymentForm').addClass('first_send') 
     // examin the data, insert stuff you need and send the form again 
     // with ajax 
    }) 
    } else { 
    $(this).removeClass('first_send') 
    // this is the second send - so do stuff here - show a result or so 
    } 
}) 

Avec la classe first_send vous pouvez vérifier si elle est la première émission ou la deuxième. Ceci est juste une idée non testée et incomplète comment vous pourriez le faire. Je suppose que vous obtenez la grande image ...

+0

'else' ne se produira jamais puisque vous n'avez pas empêché le formulaire de soumettre via le navigateur par défaut. Souhaitez également que l'utilisateur cliquent sur soumettre deux fois – charlietfl

+0

@charlietfl vous avez raison! Comme j'ai écrit - c'est incomplet. Je voulais juste donner une idée de comment cela pourrait "être" implémenté. Merci quand même pour le commentaire! – awenkhh

+1

aurait plus de sens pour modifier la solution OP donc a une meilleure chance de travailler le code – charlietfl

Questions connexes