Récupérer les données d'un input dans javascr
csi_bern
-
csi_bern -
csi_bern -
Bonjour, j'ai un problème avec le code suivant :
<script type="text/javascript">
function getObj (name) {
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
} else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
} else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name].style;
}
}
function calcul(victoire, defaite, points) {
alert(victoire);
victoire = new getObj(victoire);
defaite = new getObj("defaites'.$ligne['id'].'");
points = new getObj("points'.$ligne['id'].'");
var res;
var vic = parseInt(victoire.value);
var def = parseInt(defaite.value);
if (vic + def == 0) {
res = "Erreur";
} else {
res = vic / (vic + def);
}
points.value = res;
}
</script>
<input type="text" style="width:50; text-align:center" name="victoires1" value="1" onChange="calcul(victoires1, defaites1, points1);">
J'ai inséré l'alerte pour savoir à quel moment ça foirait. Cette dernière me donne la réponse suivante "[object HTMLInputElement]" et la console d'erreur de Firefox me donne "document.getElementById(name) is null".
Est-ce que quelqu'un pourrait me proposer une solution à mon problème.
Merci d'avance.
A savoir : le code de l'input est généré par php, j'ai plusieurs input qui se nomme donc victoires1, victoires2, ...
<script type="text/javascript">
function getObj (name) {
if (document.getElementById) {
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
} else if (document.all) {
this.obj = document.all[name];
this.style = document.all[name].style;
} else if (document.layers) {
this.obj = document.layers[name];
this.style = document.layers[name].style;
}
}
function calcul(victoire, defaite, points) {
alert(victoire);
victoire = new getObj(victoire);
defaite = new getObj("defaites'.$ligne['id'].'");
points = new getObj("points'.$ligne['id'].'");
var res;
var vic = parseInt(victoire.value);
var def = parseInt(defaite.value);
if (vic + def == 0) {
res = "Erreur";
} else {
res = vic / (vic + def);
}
points.value = res;
}
</script>
<input type="text" style="width:50; text-align:center" name="victoires1" value="1" onChange="calcul(victoires1, defaites1, points1);">
J'ai inséré l'alerte pour savoir à quel moment ça foirait. Cette dernière me donne la réponse suivante "[object HTMLInputElement]" et la console d'erreur de Firefox me donne "document.getElementById(name) is null".
Est-ce que quelqu'un pourrait me proposer une solution à mon problème.
Merci d'avance.
A savoir : le code de l'input est généré par php, j'ai plusieurs input qui se nomme donc victoires1, victoires2, ...
A voir également:
- Récupérer les données d'un input dans javascr
- Fuite données maif - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment récupérer un document dans le presse papier - Guide
- Récupérer mon compte facebook désactivé - Guide
1 réponse
Tu mélange PHP et Javascript :
sinon essaye ceci pour comprendre le fonctionnement :
defaite = new getObj("defaites'.$ligne['id'].'");
points = new getObj("points'.$ligne['id'].'");
sinon essaye ceci pour comprendre le fonctionnement :
<script type="text/javascript">
function test(elem) {
alert(elem.value);
}
</script>
<input type="text" style="width:50; text-align:center" name="victoires1" value="1" onChange="test(this);" />
Merci Johnstyle, un deuxième regard est toujours nécessaire.
A une prochaine
CSI_Bern