开发者

html form.input.value is not getting printed why?

...

<script type="text/javascript">
 function printvalues() {
  docu开发者_C百科ment.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>

why this line is not printing the value document.write(form.inputobj1.value);


The document.write overwrites the current document. Once done that, the whole <form> element disappears from the DOM and hence it and its input elements cannot be found.

Replace document.write(...) by for example alert(...) and it should work.

Alternatively you can write it as innerHTML of another element. E.g.

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

Note that this is not the "best practice", but since you're learning... When done with core Javascript, I recommend you to get yourself through jQuery. It's a Javascript library which greatly eases DOM manipulation like that and more ;)


document.write()

is probably not what you want. It will overwrite the entire contents of the page. The reason you're getting that error is because when you call document.write, it removes all the previous content, and thus the page will no longer have a form element.


Normally you would use a function such as document.getElementById to get a DOM element. For example:

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

For DOM element:

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


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜