2009-06-14 2 views

Répondre

10

Je ne crois pas qu'il affiche une pièce d'identité. La meilleure façon d'avoir votre code savoir quelle forme affiché est de mettre un champ caché dans chaque forme identifiant la forme comme ceci:

<form id="form1"> 
    <input type="hidden" name="formName" value="form1"/> 
    <input type="submit" value="submit" /> 
</form> 
<form id="form2"> 
    <input type="hidden" name="formName" value="form2"/> 
    <input type="submit" value="submit" /> 
</form> 
+12

Vous pouvez aussi donner le nom à soumettre les boutons et l'utiliser pour identifier les formes. – che

2

Qu'en est-il l'attribut action de la balise form?

j'aurais guesssed que vous pouvez spécifier un attribut action différent (d'une valeur URI différente) dans les différentes instances form. De plus, +1 pour ajouter un attribut name aux boutons d'envoi: si vous le faites, le nom du bouton d'envoi "réussi" (c'est-à-dire cliqué) sera ajouté à la chaîne de noms-plus-values ​​que le formulaire retourne au serveur.

3

Comme mentionné dans le commentaire de che sur la réponse de Jacob:

<form id="form1"> 
    <input type="submit" value="submit" name="form1" /> 
</form> 
<form id="form2"> 
    <input type="submit" value="submit" name="form2" /> 
</form> 

Et puis dans votre script de traitement de formulaire:

if(isset($_POST['form1']){ 
    // do stuff 
} 

C'est ce que j'utilise quand ne pas soumettre les formulaires via ajax.

1

La façon dont "rpflo" utilise n'identifie pas les formulaires. le $_POST['form1'] correspond ici à l'entrée avec name = "form1", pas au formulaire avec id = "form1".

Il y a deux façons raisonnables d'identifier deux formulaires sur une page à mon humble avis. est d'abord via l'attribut 'action' en ajoutant une variable GET dedans, comme action="mypage.php?form_id=1". et la deuxième façon, qui est plus pratique, consiste à nommer toutes les entrées comme un tableau. par exemple:

<form> 
    <input name="form1[first_name]" /> 
    <input name="form1[last_name]" /> 
</form> 
<form> 
    <input name="form2[first_name]" /> 
    <input name="form2[last_name]" /> 
</form> 

alors vous avez $ _POST [ « form1 »] [ « prenom »] et ainsi de suite ..

Questions connexes