gpt4 book ai didi

javascript - 多部分表单 - 试图阻止默认的 a href 行为

转载 作者:行者123 更新时间:2023-11-28 06:49:20 25 4
gpt4 key购买 nike

我第一次尝试使用向前和向后控件的多部分表单。最初的想法是,在完成所有必填字段之前,您无法跳出该页面。我使用多个 a href 来提交表单,其中一组 a href 是菜单的一部分,包含在表单页面和非表单页面中。所以我的想法是使用 javascript,读取标签中放置的 pageId 来决定单击 href 后是否应将其作为表单提交,或者简单地遵循默认的 href=""链接。所以我尝试了以下方法:

        function setvalue(whatvalue){

alert (document.getElementById('subtype').value);

if (pageId != "gettingstarted"){
alert ("Doesn't equal gettingstarted so submit");
if (whatvalue){document.getElementById('subtype').value=whatvalue;}
$('#myForm').submit();
return false;
}
}

将这些链接与默认的 href=""和 onclick 触发 js 函数一起使用

     <a onclick="setvalue('gettingstarted.php');" href="gettingstarted.php">Get Started</a>
<a onclick="setvalue('form1.php');" href="form1.php">Form One</a>
<a onclick="setvalue('form2.php');" href="form2.php">Form Two</a>
<a onclick="setvalue('preview.php');" href="preview.php">Preview</a>

您单击 href,然后如果它不是起始页(不包含表单),则会对表单进行调整,然后提交该表单,并停止执行默认的 href=""(通过返回 false ;)。如果是起始页,则 js 不执行任何操作,理论上,然后是 href 链接。

href 链接并未被停止。如果我将 href 更改为“#”,它就会起作用,因为我可以看到页面加载时出现闪烁,然后 php 表单检查器启动。但是,链接到位后,链接位置将被加载并提交(以及后续的表格检查)似乎没有机会发生。阅读了一些与停止默认行为相关的线程,并认为返回 false 就是答案。

感谢您的宝贵时间和阅读。

最佳答案

事件需要在属性中返回

 <a onclick="return setvalue('gettingstarted.php');" ..... />

您还需要在此处添加 return true,这将允许事件继续。

function setvalue(whatvalue){

alert (document.getElementById('subtype').value);

if (pageId != "gettingstarted"){
alert ("Doesn't equal gettingstarted so submit");
if (whatvalue){document.getElementById('subtype').value=whatvalue;}
$('#myForm').submit();
return false;
}

return true;
}

关于javascript - 多部分表单 - 试图阻止默认的 a href 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33106953/

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