Je veux envoyer la valeur de l'élément sélectionné avec la valeur de certains attributs (stud_name). Existe-t-il des fonctionnalités dans PHP pour le faire? Voici l'exemple ci-dessous.
<form name='add'>
Age: <select name='age'>
<option value='1' stud_name='sre'>23</option>
<option value='2' stud_name='sam'>24</option>
<option value='5' stud_name='john'>25</option>
</select>
<input type='submit' name='submit'/>
</form>
Merci
<form name='add' method="post">
Age: <select name='age'>
<option value='1_sre' >23</option>
<option value='2_sam'>24</option>
<option value='5_john'>25</option>
</select>
<input type='submit' name='submit'/>
</form>
Vous aurez la valeur sélectionnée dans $_POST['age']
. par exemple: 1_sre
. Ensuite, vous pourrez diviser la valeur et obtenir le 'stud_name'
.
$stud = explode("_",$_POST['age']);
$stud_id = $stud[0];
$stud_name = $stud[1];
Vous pouvez le faire avec JQuery
Simplement:
<form name='add'>
Age: <select id="age" name='age'>
<option value='1' stud_name='sre'>23</option>
<option value='2' stud_name='sam'>24</option>
<option value='5' stud_name='john'>25</option>
</select>
<input type='hidden' id="name" name="name" value=""/>
<input type='submit' name='submit'/>
</form>
Ajoutez ce code dans la section En-tête:
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
Maintenant fonction JQuery
<script type="text/javascript" language="javascript">
$(function() {
$("#age").change(function(){
var studentNmae= $('option:selected', this).attr('stud_name');
$('#name').val(studentNmae);
});
});
</script>
vous pouvez utiliser les deux valeurs comme
$name = $_POST['name'];
$value = $_POST['age'];
Vous devrez utiliser JavaScript. Le navigateur n'enverra que le value
de l'option sélectionnée (donc ce n'est pas la faute de PHP).
Ce que votre JS doit faire est de se connecter à l'événement de soumission du formulaire et de créer un champ caché avec la valeur de la valeur stud_name
De l'option sélectionnée. Ce champ caché sera ensuite envoyé au serveur.
Cela étant dit ... vous ne devriez pas vous fier au client pour fournir les données correctes. Vous savez déjà ce que stud_name
Devrait être pour une valeur donnée sur le serveur (puisque vous le sortez). Il vous suffit donc d'appliquer la même logique lorsque vous traitez le formulaire.
il suffit de combiner la valeur et le stud_name par exemple 1_sre et divisez la valeur lorsque vous l'obtenez en php. Javascript ressemble à un marteau pour casser un écrou. N.B. cette méthode suppose que vous pouvez modifier le html. Voici à quoi pourrait ressembler le html:
<form name='add'>
Age: <select name='age'>
<option value='1_sre'>23</option>
<option value='2_sam>24</option>
<option value='5_john>25</option>
</select>
<input type='submit' name='submit'/>
</form>
Vous pouvez utiliser la fonction jquery.
<form name='add'>
<input type='text' name='stud_name' id="stud_name" value=""/>
Age: <select name='age' id="age">
<option value='1' stud_name='sre'>23</option>
<option value='2' stud_name='sam'>24</option>
<option value='5' stud_name='john'>25</option>
</select>
<input type='submit' name='submit'/>
</form>
code jquery:
<script type="text/javascript" src="jquery.js"></script>
<script>
$(function() {
$("#age").change(function(){
var option = $('option:selected', this).attr('stud_name');
$('#stud_name').val(option);
});
});
</script>