Soumettre un formulaire en cliquant sur des liens, sans l'aide d'un bouton soumettre
Je suis en train d'essayer de soumettre un formulaire en cliquant sur des liens, sans l'aide d'un bouton de soumission. Chaque élément de la forme a sa valeur, qui doit être présenté lors d'un clic. Il ne fonctionne pas. Je pourrais utiliser JavaScript ou jQuery. Veuillez prendre un coup d'oeil sur le code:
<head>
<style>
div {
width: 100px;
height: 100px;
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
</head>
<body>
<form name="myform" action="test.php" method="post">
<div>
<a href="javascript: submitform()" value='h1'>h1</a><br>
<a href="javascript: submitform()" value='h2'>h2</a><br>
<a href="javascript: submitform()" value='h3'>h3</a><br>
</div>
</form>
<script type="text/javascript">
function submitform()
{
document.myform.submit();
}
</script>
<div>
<?php
$form=$_POST['myform'];
echo $form.' bla<br>';
?>
</div>
</body>
</html>
avec ofir baruch suggestions - fonctionne!!!
<head>
<script src="jquery.js" type="text/javascript"></script>
<style>
div {
width: 100px;
height: 100px;
padding: 10px;
margin: 10px;
background-color: #EEEEEE;
}
</style>
</head>
<body>
<form name="myform" action="test.php" method="post">
<input type='hidden' id='hx' name='hx' value=''>
<div>
<a href="javascript: submitform('h1')">h1</a><br>
<a href="javascript: submitform('h2')">h2</a><br>
<a href="javascript: submitform('h3')">h3</a><br>
</div>
</form>
<script type="text/javascript">
function submitform(val)
{
$("#hx").val(val);
document.myform.submit();
}
</script>
<div>
<?php
echo $_POST['hx'];
?>
</div>
</body>
</html>
OriginalL'auteur user985456 | 2012-03-10
Vous devez vous connecter pour publier un commentaire.
Ajouter la ligne suivante après la
<form...>
:Ensuite , modifiez votre fonction appelante:
Votre fonction:
dans votre php:
Comment ça marche?
1.Vous cliquez sur un lien
2.La js fonction modifie la valeur du champ CACHÉ
3.La js fonction soumettre le formulaire
4.$_POST concerne la face cachée de la valeur d'entrée
C'est exactement ce que j'ai fait. Pouvez-vous être plus précis sur ce qui ne fonctionne pas? (obtenez des erreurs?)
J'ai posté seulement le code avec vos suggestions. Il ne retourne rien, lorsque vous cliquez sur le lien.
Avez-vous
import
jquery library
?Merci beaucoup, ça marche!!!
OriginalL'auteur Ofir Baruch
Tout d'abord, je ne voudrais pas utiliser
href="javascript:submitForm();"
, au lieu d'utiliserhref="#" onclick="submitForm(this)"
Ajouter un champ caché dans votre formulaire
Dans votre submitForm méthode, changer myform de formes[0]. Je crois que ce sera plus de la croix-navigateur convivial. Anywho... ajouter un paramètre à la méthode de sorte que vous pouvez définir le champ caché.
Oui, vous avez raison à propos de la soumission des valeurs.
J'ai déjà suggéré cette méthode.
document.les formes[] est recommandé par le W3C jibbering.com/faq/notes/form-access
J'ai corrigé ma réponse un couple de minutes avant que vous avez posté le vôtre. Nous avons été en tapant en même temps. N'a pas vraiment d'importance, nous avons tous deux venus avec la même solution, alors il doit avoir le mérite 🙂
OriginalL'auteur Chris Gessler
forme.submit() et $.post() faire la même chose: ils effectuent une action POST sur un serveur web. La seule différence est le deuxième est un async requête post.
OriginalL'auteur Anber
code
<?php $form=$_POST['myform']; echo $form. " bla<br>'; ?>code
Lisez à propos de $.post ici.
OriginalL'auteur Anber