2010-04-09 2 views
3

...html form.input.value не печатается почему?

<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> 

почему эта линия не печатает значение document.write(form.inputobj1.value);

+0

Что * делает * он делает? Каков полный код HTML и Javascript? Появляются ли ошибки на консоли ошибок? – Matchu

+0

только я изучаю html. Я разместил html, но он не отображается в stackoverflow. это дает inputobj1 не является объектом – chandu

+0

Я вызываю printvalues ​​() из формы, которая имеет два входных объекта с именем inputobj1 и inputobj2. нажав кнопку из формы, вызывающ функцию – chandu

ответ

0

Обычно вы будете использовать функцию, как document.getElementById получить DOM элемент. Например:

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

Для DOM элемента:

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

document.write перезаписывает текущий документ. После этого весь элемент <form> исчезает из DOM, и, следовательно, его и его элементы ввода не могут быть найдены.

Замените document.write(...) на пример alert(...) и он должен работать.

Альтернативно вы можете написать это как innerHTML другого элемента. Например.

<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> 

Обратите внимание, что это не «лучшая практика», но так как вы учитесь ... Когда это сделано с основным Javascript, я рекомендую вам, чтобы получить себе через jQuery. Это библиотека Javascript, что значительно облегчает DOM манипуляции, как это и многое другое;)

+0

благодарит все ваши ответы друзья – chandu

+0

Добро пожаловать. Я вижу, что вы новичок в Stackoverflow. Если ответ * полезный *, вы можете его повышать. Если ответ * * * решил ваш вопрос/проблему, вы должны пометить его как принятый. Также см. Http://stackoverflow.com/faq – BalusC

1
document.write() 

, вероятно, не то, что вы хотите. Он перезапишет все содержимое страницы. Причина, по которой вы получаете эту ошибку, заключается в том, что при вызове document.write она удаляет все предыдущее содержимое, и, следовательно, страница больше не будет иметь элемент формы.

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> 
Смежные вопросы