')-6ren"> ')-我有这个 javascript: document.write('do stuff'); 然后在 validateForm 函数中,您可以有条件地调用表单的提交方法。 如果 validateForm -6ren">
gpt4 book ai didi

javascript - 返回 document.write 中的 Javascript 函数 ('')

转载 作者:行者123 更新时间:2023-11-30 13:29:07 26 4
gpt4 key购买 nike

我有这个 javascript:

document.write('<a HREF="javascript:return validateForm();' + thisform + '.submit();void(0);"');

我还有以下功能,引用我网站上的表格。

function validateForm()
{
var y=document.forms["myForm"]["email"].value;

if (y==null || y=="") {
alert('Please enter your email to continue.');
return false;
}
}

现在如何让 HREF 中的返回发挥作用!?在输入等于 ""且 validateform() 返回 false 的情况下,它不会返回 false。

最佳答案

您的代码:

document.write('<a HREF="javascript:return validateForm();' +
thisform + '.submit();void(0);"');

似乎不完整。如果您使用链接,则 href 应该链接到有用的资源。如果没有,请使用按钮或其他一些 UI 对象来清楚地指示将要发生的事情。

使用 href 属性的 javascript 伪协议(protocol)返回 false 什么都不做。 void 语句什么都不做(这就是 void 的意义所在)。此外,void 是一个运算符,因此无需包含分组运算符 ()。

您不能使用这样的 A 元素来有条件地提交表单,您确实应该使用表单的提交事件来有条件地允许或阻止提交。你可以这样做:

document.write(
'<a href="http://useful.com" onclick="return validateForm(' +
thisform + ');">do stuff<\/a>');

然后在 validateForm 函数中,您可以有条件地调用表单的提交方法。

如果 validateForm 返回 false,浏览器将不会访问该链接。

更好的策略是将监听器放在表单上:

<form onsubmit="return validateForm(...)" ...>

如果验证失败,返回false,提交将被取消。否则,提交将继续。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com