J'apprends pour un examen qui porte sur les inventaires des entreprises. J'ai pensé que je pourrais me rendre service et apprendre quelque chose de nouveau sur le codage tout en apprenant pour ces examens. Normalement, je n'utilise que très peu de javascript dans mon entreprise.
Ce que j'essaie de faire, c'est de créer une table avec 2 lignes d'entrée.
Ligne 1: Entrée de moi Ligne 2: Sommes de mes entrées
J'ai mis un bouton qui devrait donner la valeur que j'entre à la ligne 1 à un autre champ de la ligne 2.
Quand mon type d'entrée est le nombre im obtenir ceci: La valeur spécifiée "non définie" n'est pas un nombre valide. La valeur doit correspondre à l'expression régulière suivante: -? (\ D + | \ d +. \ D + |. \ D +) ([eE] [- +]? \ D +)?
Lorsque mon entrée est saisie est-ce que le texte que je reçois: undefined
Je suis sûr que quelque chose ne va pas dans ma fonction, mais je ne peux pas le comprendre et lorsque je recherche mon problème, je ne trouve que des cas plus complexes que je Je ne comprends pas.
Merci d'avance pour toute aide :)
<script> function test() { var x = document.getElementById("1").value; document.getElementById("ro").value = x; } </script> </head> <body> <table> <tr><td><b><button onclick="test()">test</button></b></td></tr> <tr><td> </td></tr> <tr> <td> <div id="flex-table"> <table id="names"> <!--Names--><!--Names--> <caption>A: Vermögen</caption> <tr><th>I. Anlagevermögen</th></tr> <tr><td class="first">Grundstücke</td></tr> <tr><td class="second">GernotstraÃe</td> </tr> </table> <table id="input"> <!--Input--><!--Input--> <caption> </caption> <tr><th><p>â¬</p></th></tr> <tr><td> </td></tr> <tr><td><form id="1"><input type="number" value="0"></form></td></tr> </table> <table id="values"> <!--Values--><!--Values--> <caption> </caption> <tr><th><p>â¬</p></th></tr> <tr><td> </td></tr> <tr><td><input id="ro" type="number"value="0" readonly></td></tr> </table> </div> </td> </tr> </table>
3 Réponses :
id
n'est pas seulement numérique. donc vous devez mélanger avec une chaîne document.getElementById ("string1")
est placé avec form
pas une entrée.Ajoutez donc un identifiant à l'entrée au lieu de form
<script>
function test() {
var x = document.getElementById("string1").value;
document.getElementById("ro").value = x;
}
</script>
<body>
<table>
<tr>
<td><b><button onclick="test()">test</button></b></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<div id="flex-table">
<table id="names">
<!--Names-->
<!--Names-->
<caption>A: Vermögen</caption>
<tr>
<th>I. Anlagevermögen</th>
</tr>
<tr>
<td class="first">Grundstücke</td>
</tr>
<tr>
<td class="second">GernotstraÃe</td>
</tr>
</table>
<table id="input">
<!--Input-->
<!--Input-->
<caption> </caption>
<tr>
<th>
<p>â¬</p>
</th>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<form><input id="string1" type="number" value="0"></form>
</td>
</tr>
</table>
<table id="values">
<!--Values-->
<!--Values-->
<caption> </caption>
<tr>
<th>
<p>â¬</p>
</th>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><input id="ro" type="number" value="0" readonly></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
merci beaucoup, c'était une erreur stupide mais pouvez-vous m'expliquer ce que vous voulez dire avec la partie
oui n'a pas d'importance.Vous pourriez définir n'importe quoi comme identifiant.Mais ce n'est pas une bonne pratique.À l'avenir, plus de non de codage et de variable.il sera plus déroutant et complexe.Utilisez un nom associé de l'élément d'activité, par exemple : input get username set id = "username"
. la définition des variables et des noms est l'une des tâches les plus importantes du codage
ok je vois, mieux mettre en œuvre les bonnes habitudes avant de s'habituer aux mauvaises. Merci prasanth :)
Vous lisez la valeur de form
, qui n'a aucune valeur. Vous voulez probablement lire la valeur de l'élément input
.
<table> <tr> <td><b><button onclick="test()">test</button></b></td> </tr> <tr> <td> </td> </tr> <tr> <td> <div id="flex-table"> <table id="names"> <caption>A: Vermögen</caption> <tr> <th>I. Anlagevermögen</th> </tr> <tr> <td class="first">Grundstücke</td> </tr> <tr> <td class="second">GernotstraÃe</td> </tr> </table> <table id="input"> <caption> </caption> <tr> <th> <p>â¬</p> </th> </tr> <tr> <td> </td> </tr> <tr> <td> <input id="1" type="number" value="0"> </td> </tr> </table> <table id="values"> <caption> </caption> <tr> <th> <p>â¬</p> </th> </tr> <tr> <td> </td> </tr> <tr> <td><input id="ro" type="number" value="0" readonly></td> </tr> </table> </div> </td> </tr> </table>
function test() { var x = document.getElementById("1").value; document.getElementById("ro").value = x; }
Votre deuxième tableau doit être corrigé de la manière suivante. La valeur id "1" faisait référence à l'élément de formulaire et non à l'élément d'entrée.
<table id="input"> <!--Input--><!--Input--> <caption> </caption> <tr><th><p>â¬</p></th></tr> <tr><td> </td></tr> <tr><td><form><input type="number" value="0" id="1"></form></td></tr> </table>
Votre identifiant doit être attribué à un élément d'entrée, pas au formulaire lui-même.
oh je vois que c'était stupide, ça marche maintenant. Merci beaucoup!