2010-04-09 2 views
3

...html form.input.value ne s'imprime pas pourquoi?

<script type="text/javascript"> 
function printvalues() { 
    document.write("This is my first JavaScript!"); 
    document.write(form.inputobj1.value); 
    document.write(form.inputobj2.value); 
} 
</script> 
<form name="form"> 
<input name="inputobj1" value="123" /> 
<input name="inputobj2" value="abc"/> 
<input type="button" onclick =" printvalues();"> 
</form> 

pourquoi cette ligne n'imprime pas la valeur document.write(form.inputobj1.value);

+0

Que * fait-il? Quel est le code HTML et Javascript complet? Des erreurs apparaissent-elles dans la console d'erreur? – Matchu

+0

juste j'apprends le html. J'ai posté html mais il ne s'affiche pas dans stackoverflow. cela donne inputobj1 n'est pas un objet – chandu

+0

J'appelle printvalues ​​() à partir d'un formulaire qui a deux objets d'entrée nommés inputobj1 et inputobj2. en cliquant sur un bouton du formulaire j'appelle la fonction – chandu

Répondre

0

Normalement, vous utilisez une fonction telle que document.getElementById pour obtenir un élément DOM. Par exemple:

alert(document.getElementById('inputobj1_id').value); 

pour élément DOM:

<input id="inputobj1_id" name="inputobj1" value="123" /> 
3

Le document.write le document en cours écrase. Une fois cela fait, l'élément entier <form> disparaît du DOM et par conséquent, lui et ses éléments d'entrée ne peuvent pas être trouvés. Remplacer document.write(...) par exemple alert(...) et il devrait fonctionner. Vous pouvez également l'écrire comme innerHTML d'un autre élément. Par exemple.

<script type="text/javascript"> 
    function printvalues() { 
     var div = document.getElementById("divId"); 
     div.innerHTML += "This is my first JavaScript!"; 
     div.innerHTML += form.inputobj1.value; 
     div.innerHTML += form.inputobj2.value; 
    } 
</script> 
<form name="form"> 
    <input name="inputobj1" value="123" /> 
    <input name="inputobj2" value="abc"/> 
    <input type="button" onclick =" printvalues();"> 
</form> 
<div id="divId"></div> 

Notez que ce n'est pas la « meilleure pratique », mais puisque vous apprenez ... Lorsque vous avez terminé avec noyau Javascript, je vous recommande de vous passer à travers jQuery. C'est une bibliothèque Javascript qui facilite grandement la manipulation DOM comme ça et plus;)

+0

merci pour toutes vos réponses amis – chandu

+0

De rien. Je vois que vous êtes nouveau chez Stackoverflow. Si une réponse est * utile *, vous êtes libre de la modifier. Si une réponse * a * résolu * votre question/problème, vous êtes censé la marquer comme acceptée. Voir aussi http://stackoverflow.com/faq – BalusC

1
document.write() 

n'est probablement pas ce que vous voulez. Il écrasera tout le contenu de la page. La raison pour laquelle vous obtenez cette erreur est que lorsque vous appelez document.write, il supprime tout le contenu précédent et la page n'a plus d'élément de formulaire.

0
<script type="text/javascript"> 
function printvalues() { 
var x = document.form.inputobj1.value; 
var y = document.form.inputobj2.value 
document.write("<Html><head></head><body><h1>"); 
document.write("This is my first JavaScript!</h1></br><h3>"); 
document.write(x);document.write("</h3></br><h3>"); 
document.write(y);document.write("</h3></body></html>"); 
} 
</script> 
<form name="form"> 
<input name="inputobj1" value="123" /> 
<input name="inputobj2" value="abc"/> 
<input type="button" value="click" onclick =" printvalues();"> 
</form> 
Questions connexes