将变量从 FancyBox 传递到父级时未捕获的类型错误
Uncaught TypeError When Passing Variable from FancyBox Into Parent
我在从 FancyBox 传递变量值时遇到问题。首先,我会告诉代码:
这是 FancyBox 中的代码:
JavaScript
function post_value(no){
parent.setSelectedUser(document.forms[no]["NO_INDUK"].value);
parent.$.fancybox.close();
}
html
while($baris = mysqli_fetch_assoc($hasil))
{
//1 item($baris);
$no++;
?>
<tr>
<form name="<?php echo $no ?>" method='post'>
<td><?php echo $no ?></td>
<td><input id="NO_INDUK" class="form-control" type="text" name="NO_INDUK" size="5" value="<?php echo $baris["NO_INDUK"] ?>" readonly/></td>
<td><?php echo $baris["NAMA_SISWA"] ?></td>
<td><?php echo $baris["NAMA_WALI"] ?></td>
<td><?php echo $baris["ALAMAT"] ?></td>
<td>
<a class="btn btn-success" href="#" onclick='post_value(<?php echo $no ?>)'> Pilih</a>
</td>
</form>
</tr>
<?php
} //untuk while
?>
那么这是源页面视图:
html源码查看
<tr>
<form name="2" method='post'>
<td>2</td>
<td><input id="NO_INDUK" class="form-control" type="text" name="NO_INDUK" size="5" value="112312" readonly/></td>
<td>Angga Lisdiyanto</td>
<td>asa</td>
<td>asdsad</td>
<td>
<a class="btn btn-success" href="#" onclick='post_value(2)'> Pilih</a>
</td>
</form>
</tr>
<tr>
<form name="3" method='post'>
<td>3</td>
<td><input id="NO_INDUK" class="form-control" type="text" name="NO_INDUK" size="5" value="2543" readonly/></td>
<td>Fina Arzika Humaidah</td>
<td>Nur Kojim</td>
<td>Campurejo, Panceng, Gresik</td>
<td>
<a class="btn btn-success" href="#" onclick='post_value(3)'> Pilih</a>
</td>
</form>
</tr>
然后当我点击按钮 'Pilih' 时,FancyBox 不会关闭并且不会传递值。如果javascript这样的代码,它可以成功传递一个值:
function post_value(no){
parent.setSelectedUser(no); //just test, passing from no value
parent.$.fancybox.close();
}
用Chrome调试后,这一行有错误:
parent.setSelectedUser(document.forms[no]["NO_INDUK"].value);
错误信息是:
未捕获的类型错误:无法读取未定义的 属性 'NO_INDUK'
也就是,希望有任何回复,如果有人能帮助我,我会很高兴。
谢谢:)
已解决(我的眼睛变黑了!)。
正如@JFK 所说,onclick='post_value(n)' 传递的是表单索引而不是表单名称。所以我尝试在表单名称中添加几个字符,如下所示:
<form name="form<?php echo $no ?>" method='post' action="">
然后按钮里面是这样的:
onclick='post_value("form<?php echo $no ?>")'
在 JavaScript 上:
function post_value(NamaForm){
parent.setSelectedUser(document.forms[NamaForm]["NO_INDUK"].value);
parent.$.fancybox.close();
}
也就是
抱歉,印度尼西亚语可能会让您感到困惑。 :)
我在从 FancyBox 传递变量值时遇到问题。首先,我会告诉代码:
这是 FancyBox 中的代码:
JavaScript
function post_value(no){
parent.setSelectedUser(document.forms[no]["NO_INDUK"].value);
parent.$.fancybox.close();
}
html
while($baris = mysqli_fetch_assoc($hasil))
{
//1 item($baris);
$no++;
?>
<tr>
<form name="<?php echo $no ?>" method='post'>
<td><?php echo $no ?></td>
<td><input id="NO_INDUK" class="form-control" type="text" name="NO_INDUK" size="5" value="<?php echo $baris["NO_INDUK"] ?>" readonly/></td>
<td><?php echo $baris["NAMA_SISWA"] ?></td>
<td><?php echo $baris["NAMA_WALI"] ?></td>
<td><?php echo $baris["ALAMAT"] ?></td>
<td>
<a class="btn btn-success" href="#" onclick='post_value(<?php echo $no ?>)'> Pilih</a>
</td>
</form>
</tr>
<?php
} //untuk while
?>
那么这是源页面视图:
html源码查看
<tr>
<form name="2" method='post'>
<td>2</td>
<td><input id="NO_INDUK" class="form-control" type="text" name="NO_INDUK" size="5" value="112312" readonly/></td>
<td>Angga Lisdiyanto</td>
<td>asa</td>
<td>asdsad</td>
<td>
<a class="btn btn-success" href="#" onclick='post_value(2)'> Pilih</a>
</td>
</form>
</tr>
<tr>
<form name="3" method='post'>
<td>3</td>
<td><input id="NO_INDUK" class="form-control" type="text" name="NO_INDUK" size="5" value="2543" readonly/></td>
<td>Fina Arzika Humaidah</td>
<td>Nur Kojim</td>
<td>Campurejo, Panceng, Gresik</td>
<td>
<a class="btn btn-success" href="#" onclick='post_value(3)'> Pilih</a>
</td>
</form>
</tr>
然后当我点击按钮 'Pilih' 时,FancyBox 不会关闭并且不会传递值。如果javascript这样的代码,它可以成功传递一个值:
function post_value(no){
parent.setSelectedUser(no); //just test, passing from no value
parent.$.fancybox.close();
}
用Chrome调试后,这一行有错误:
parent.setSelectedUser(document.forms[no]["NO_INDUK"].value);
错误信息是:
未捕获的类型错误:无法读取未定义的 属性 'NO_INDUK'
也就是,希望有任何回复,如果有人能帮助我,我会很高兴。 谢谢:)
已解决(我的眼睛变黑了!)。
正如@JFK 所说,onclick='post_value(n)' 传递的是表单索引而不是表单名称。所以我尝试在表单名称中添加几个字符,如下所示:
<form name="form<?php echo $no ?>" method='post' action="">
然后按钮里面是这样的:
onclick='post_value("form<?php echo $no ?>")'
在 JavaScript 上:
function post_value(NamaForm){
parent.setSelectedUser(document.forms[NamaForm]["NO_INDUK"].value);
parent.$.fancybox.close();
}
也就是
抱歉,印度尼西亚语可能会让您感到困惑。 :)