我有以下表单,我想将“R.EmailAddress”字段的值分配给隐藏字段 “EMAIL_FROM”。
我尝试在Javascript中使用函数doCalculate,但是它没有将R.EmailAddress指定给email_From,是因为输入类型=“图像”??
<form name="eMail" method="post" action="/emailform.asp" >
<input type="text" name="R.EmailAddress" class="textfield_contact" value="">
<input type="hidden" name="email_From" value="contact@shopbyus.com">
<input type="image" src="submit.gif" border="0" name="submit" value="Submit" `onClick="doCalculate(this.form)">`
我的Javascript功能如下所示
<script language="javascript" type="text/javascript">
function doCalculate(theForm){
var aVal = theForm.R.EmailAddress.value;
theForm.email_From.value=aVal;
alert(aVal);
}
</script>
答案 0 :(得分:3)
由于“R”不是对象的属性,因此必须使用[“R.EmailAddress”]
function doCalculate(theForm){
var aVal = theForm["R.EmailAddress"].value;
theForm.email_From.value=aVal;
alert(aVal);
}
答案 1 :(得分:0)
theForm.R.EmailAddress.value
这会查看对象theForm
,从该对象中找到属性R
,然后从该对象中找到属性EmailAddress
,然后从该对象获取value
。这显然不是您的意思:您正在寻找R.EmailAddress
对象的theForm
属性。
由于.
不能在带有点成员表示法的属性名称中使用,因此您必须使用方括号表示法:
theForm['R.EmailAddress'].value;
有关这些syntaxesx的更多信息,请参阅MDN page on member operators。