令人困惑的Javascript问题验证表单。输入字段值有效,但输入字段的保存对象不起作用

时间:2012-05-04 21:55:02

标签: javascript object input field

对于unweildy标题的道歉,这是一个非常难以置之不理的问题。这段代码会更好地解释它。

alert(formob.Nam.value); //i work correctly
alert(formob.Num.value); //and me  

name=formob.Nam; 
console.log(name); //[object HTMLInputElement]
console.log("name set "+name.value); //i return 'name set undefined'

num=formob.Num;
console.log(num); //<input type="text" name="Num">
console.log("num set "+num.value); //i return 'num set [value entered]' correctly

简化的HTML:

<form method="post" class="well" name="FooterCall">
<input type="text" name="Nam">
<input type="text" name="Num">
<button... onmousedown="subajax(this.form...)"..>

要点: 在表单中设置了两个基本相同的字段,但是当字段设置为Javascript对象时,一个字段设置不正确。

非常感谢您提供任何可以提供的帮助! :)

1 个答案:

答案 0 :(得分:1)

如果您使用以下HTML

<form method="post" name="formob">
<input type="text" name="Nam">
<input type="text" name="Num">
</form>
​

并检查这个JavaScript,你不使用name作为变量名,它应该工作imho。 formob需要参考当然的形式:

console.log(formob.Nam.value); //i work correctly
console.log(formob.Num.value); //and me  

xname = formob.Nam;
console.log(xname); //[object HTMLInputElement]
console.log("name set " + xname.value); //i return 'name set undefined'

num = formob.Num;
console.log(num); //<input type="text" name="Num">
console.log("num set " + num.value); //i return 'num set [value entered]' correctly​

这应该有效