2010-11-05 2 views
0

Salut les amis
Je suis ayant un formulaires et deux boutons, et quelques champs de texte, ce dont j'ai besoin si je clique sur le bouton 1 alors les détails dans la zone de texte devraient POST à ​​Page1.php si je clique sur Button2 les détails dans la zone de texte doit être POST à ​​Page2.php, j'ai 8 zones de texte pour faire le formulaire, comment puis-je faire cela?Comment POSTER à 2 pages à l'aide du bouton ou du lien en HTML?

+0

Jetez un oeil à : http://stackoverflow.com/questions/2446188/submit-form-to-2-different-action-page/2446212#2446212 – Adnan

+0

Vous n'avez pas besoin de ça. Une page est suffisante. Surtout s'il y a 8 zones de texte. –

Répondre

2

Supposons que votre bouton un identifiant est btn1 et le second a btn2 et le nom de formulaire est frm, vous pouvez faire quelque chose comme ceci:

var btn1 = document.getElementById('btn1'); 
var btn2 = document.getElementById('btn2'); 

btn1.onclick = function(){ 
    document.forms['frm'].action = 'page1.php' 
    document.forms['frm'].submit(); // submit the form 
}; 

btn2.onclick = function(){ 
    document.forms['frm'].action = 'page2.php' 
    document.forms['frm'].submit(); // submit the form 
}; 
+0

est-ce un script java ?? –

+0

@Alex Mathew: Oui c'est ça. – Sarfraz

+0

comment puis-je l'utiliser en cas de liens dans

0

Essayez ceci:

<input type="button" value="page1" onclick="this.form.action='Page1.php'; this.form.submit();" /> 
<input type="button" value="page2" onclick="this.form.action='Page2.php'; this.form.submit();" /> 
+0

Vous devriez éviter javascript en ligne lorsque cela est possible et ne pas obstruer :) http://en.wikipedia.org/wiki/Unobtrusive_JavaScript – Sarfraz

+0

Mon pragmatisme dit que je ne devrais pas écrire des fonctions supplémentaires pour les situations triviales comme ceci :) –

+0

@Donatas Olsevičius: Ouais qui semble plus rapide et plus facile;) – Sarfraz

2

Une solution PHP serait être:

<form action='' method='post'> 
    <input name='inputText' /><br /> 
    <button value='1' name='whichOption'></button><br /> 
    <button value='2' name='whichOption'></button><br /> 
</form> 

En haut du p âge ce formulaire est, mis ceci:

<?php 
    if(isset($_POST['whichOption']) { 
    switch($_POST['whichOption']) { 
     case 1: /* do something */ break; 
     case 2: /* do something else */ break; 
    } 
    } 
?> 

« quelque chose » est un include, un ensemble variable de session, ou ce que vous voulez.

0
Html: 
<input id="Button1" value="Button1" type="button" /><br /> 
<input id="Button2" value="Button2" type="button" /><br /> 
<textarea id="TextBox1" cols="40" rows="5"><br /> 
<textarea id="TextBox2" cols="40" rows="5"> 

jQuery:

function PostToPage(DOOMid,uri) { 
    var vDOOMEl = $("#" + DOOMid); 

    $.ajax({ 
     type: 'POST', 
     url: uri, 
     data: ({text : vDOOMEl.innerHTML}), 
     success: function() {}, 
     dataType: "html" 
    }); 
} 

function init() { 

    $('#Button1').click(function(e){ 
     PostToPage('TextBox1','Page1.php'); 
    }); 

    $('#Button2').click(function(e){ 
     PostToPage('TextBox2','Page2.php'); 
    }); 
} 

window.onload=init; 

PHP:

<?php 
    //do something with $_POST['text']; 
?> 

Vous devez télécharger jQuery, et l'utiliser pour cette solution

0

Pourquoi ne pas utiliser la même page? Lorsque je besoin de plusieurs soumettre des solutions de rechange j'utiliser simplement présenter des boutons avec des noms différents:

<input type="submit" name="submit-save" value="Save" /> 
<input type="submit" name="submit-delete" value="Delete" /> 

Quand je besoin de savoir quelle action il est, je vérifie juste que les données sont envoyées:

if(isset($_POST['submit-save'])) 
{ 
    //Do something 
} 
elseif(isset($_POST['submit-delete'])) 
{ 
    //Do something else 
} 
Questions connexes