我有一个问题,我有2个按钮,并且它们有2个不同的值和不同的ID(比如说Button A和Button B),我想确保当我单击Button A时,值填充为FORM C OR当我点击按钮B时,值填充为FORM C(来自窗口父级的表单C和来自子父级的按钮A和B)。但是对于我来说,如果我单击按钮A,则传递给表单C的值就是按钮B的值。 这是代码:
parent.html
<form method='post' action='' name='f1'>
<table border=0 cellpadding=0 cellspacing=0 width=550>
<tr>
<td ><font size="2" face='Verdana'>Your Name</font><input type="text" name="p_name" size='8'>
<a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick='window.open("child.php","Ratting", "width=550,height=170,left=150,top=200,toolbar=1,status=1,");'>Click here to open the child window</a>
</td></tr>
</table></form>
child.html
<html>
<head>
<title>(Type a title for your page here)</title>
</head>
<body >
<form name="frm" method="post" action=''>
<table border='0' cellpadding='0' cellspacing='0' width='250'>
<tr><td align="center"> Your name <input type="button" name="c_name" value="A" onclick="post_value();">
</td><td align="center"> Your name <input type="button" name="c_name2" value="B" onclick="post_value();">
</td>
</tr>
<script langauge="javascript">
function post_value(){
opener.document.f1.p_name.value = document.frm.c_name.value;
opener.document.f1.p_name.value = document.frm.c_name2.value;
self.close();
}
</script>
</table></form>
答案 0 :(得分:0)
在您的功能中,您需要检测单击的按钮。因此,我通过向函数传递信号来更改按钮的行为:
在按钮上设置数据:
<input type="button" name="c_name" value="A" onclick="post_value('a');">
<input type="button" name="c_name2" value="B" onclick="post_value('b');">
接收有关功能的数据:
function post_value(button){
if (button=="a"){
opener.document.f1.p_name.value = document.frm.c_name.value;
}
if (button=="b"){
opener.document.f1.p_name.value = document.frm.c_name2.value;
}
self.close();
}
作为更好的解决方案,您甚至可以将对象(按钮)本身传递给函数,并在没有IF / THEN块且不使用ID的情况下提取值:
在按钮上设置数据:
<input type="button" name="c_name" value="A" onclick="post_value(this);">
<input type="button" name="c_name2" value="B" onclick="post_value(this);">
接收有关功能的数据:
function post_value(button){
opener.document.f1.p_name.value = button.value;
self.close();
}