for each -> détecter et changer <input> et <select> selon key et value de l'array
Bonjour.
Suite à la vérification php d'un formulaire, ma fonction retourne une erreur.
Je retourne dans le formulaire et j'aimerai replacer les valeur à leur place.
J'ai fais un code que je n'ai pas encore vérifier car je viens de le changer en un code plus simple car je ne parviens pas a tester et récupérer le key d'un array JS pour l'utiliser comme une variable.
Mon array JS construit en phpi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
echo "<script type="text/javascript">
var jsarray_key = new Array();
var jsarray_value = new Array();
var key= '';
var value='';
</script>";
// $php -> var JS
function js_var($array)
{
echo "<script type='text/javascript'>";
$i=0;
foreach($array as $key => $value)
{
// Toutes les variable KEY dans un array JS
echo "jsarray_key[".$i."]='".$key."'";
// Toutes les variable VALUE dans un array JS
echo "jsarray_value[".$i."]='".$value."'";
$i++;
// Ca me gonfle de devoir créer deux array pour ça...
}
echo "</script>";
} |
Dans ma page JS
J'ai noté tous mes inputs avec un id
Cet id identique au key de mon jsarray.
Les valeurs des inputs sont identiques aux values de mon jsarray selon le key.
key => value
id => value
Etant très mauvais en JS j'ai un code très mauvais :
Pour me repérer dans mes deux select, l'un à des options id/nom en numérique, l'autre en alphabétique.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<script type='text/javascript'>
for(var i= 0; i < jsarray_key.length; i++)
{
ikey = jsarray_key[i];
ivalue = jsarray_value[i];
if (document.getElementById(ikey).nodeName == input)
{
document.getElementById(ikey).value = ivalue;
}
elseif(isNaN(ikey) == true){document.getElementById('critiques').namedItem(ikey).selected=true;}
else{document.getElementById('residence').namedItem(ikey).selected=true;}
}
</script> |
Bonne journée