JavaScript:从子html文档调用函数
在子html文档中执行javascript函数的最佳方式是什么 在我的父文档中,我有以下内容:JavaScript:从子html文档调用函数,javascript,html,Javascript,Html,在子html文档中执行javascript函数的最佳方式是什么 在我的父文档中,我有以下内容: function validate() { debugger; var firstName = frm.FirstName.value; var lastName = frm.LastName.value; var email = frm.Email.value; if (!validateFirstName(first
function validate() {
debugger;
var firstName = frm.FirstName.value;
var lastName = frm.LastName.value;
var email = frm.Email.value;
if (!validateFirstName(firstName)) {
return false;
}
if (!validateLastName(lastName)) {
return false;
}
if (!validateEmail(email)) {
return false;
}
var disp = window.open("results.html");
disp.window.setData(firstName, lastName, email, frm.Comments);
if (disp.confirm("Is this information correct?")) {
disp.close();
}
}
<script type="text/javascript">
function setData(firstName, lastName, email, comments) {
frm.FirstName.value = firstName;
frm.LastName.value = lastName;
frm.Email.value = email;
frm.Comments.value = comments;
}
</script>
在子文档(results.html)中,我有以下内容:
function validate() {
debugger;
var firstName = frm.FirstName.value;
var lastName = frm.LastName.value;
var email = frm.Email.value;
if (!validateFirstName(firstName)) {
return false;
}
if (!validateLastName(lastName)) {
return false;
}
if (!validateEmail(email)) {
return false;
}
var disp = window.open("results.html");
disp.window.setData(firstName, lastName, email, frm.Comments);
if (disp.confirm("Is this information correct?")) {
disp.close();
}
}
<script type="text/javascript">
function setData(firstName, lastName, email, comments) {
frm.FirstName.value = firstName;
frm.LastName.value = lastName;
frm.Email.value = email;
frm.Comments.value = comments;
}
</script>
函数setData(名字、姓氏、电子邮件、注释){
frm.FirstName.value=FirstName;
frm.LastName.value=LastName;
frm.Email.value=电子邮件;
frm.Comments.value=注释;
}
这是行不通的。请告诉我如何使用简单的javascript和html(无JQuery等)实现这一点
谢谢您应该使用开启器属性。它返回对创建窗口的窗口的引用 使用window.open()打开窗口时,可以从目标窗口使用此属性返回源(父)窗口的详细信息
函数setData(名字、姓氏、电子邮件、注释){
opener.frm.FirstName.value=FirstName;
opener.frm.LastName.value=LastName;
opener.frm.Email.value=电子邮件;
opener.frm.Comments.value=注释;
}
第二个html文档(子文档)中的.js函数“setData()”,我希望在验证父文档的表单后调用该函数。它将设置数据,用户将确认是否正常。请注意,这不是现实生活中的问题(谢天谢地)。。但这是一个不寻常的理论问题,对于我正在学习的课程,我必须解决。谢谢,但我想设置从父窗体到子窗体的值。我试过这个:window.onload=function(){frm.FirstName.value=opener.frm.FirstName.value;//等等……但是没有用。有什么想法吗?变量frm
也引用子文档中的
元素?是的。我可以更改“frm”名称以减少混淆我猜..但是有2个frm元素..1在父文档中,1在子文档中..两个文档也有相同的布局..唯一的区别是子文档是只读的(这是一个确认屏幕),所以在子文档中可以执行:window.onload=function(){var childFrm=document.getElementById(“theIdOfYourChildForm”);childFrm.FirstName.value=opener.frm.FirstName.value;//etc
很抱歉这不起作用..但别担心;我采取了不同的方法:var disp=window.open(“,”results”);
然后我使用了disp.document.write(”
…等等。所以它不太理想。但是它很有效,可以让我通过实践考试(如果有)。无论如何,谢谢你的尝试。