Javascript 动态更新表单操作间歇性失败
单击链接后,我将触发一个模式,并根据单击的链接动态设置模式中包含的表单操作 它几乎每次都有效;但是,测试人员报告,50次中可能有1次操作未更新。间歇性故障已在IE11和最新的Chrome中重现 下面是代码的要点Javascript 动态更新表单操作间歇性失败,javascript,jquery,Javascript,Jquery,单击链接后,我将触发一个模式,并根据单击的链接动态设置模式中包含的表单操作 它几乎每次都有效;但是,测试人员报告,50次中可能有1次操作未更新。间歇性故障已在IE11和最新的Chrome中重现 下面是代码的要点 <ul> <li><a class="action_url" href="http://somedomain.com">Some Domain</a></li> <li><a class="action
<ul>
<li><a class="action_url" href="http://somedomain.com">Some Domain</a></li>
<li><a class="action_url" href="http://anotherdomain.com">Another Domain</a></li>
<li><a class="action_url" href="http://yetanotherdomain.com">Yet Another Domain</a></li>
</ul>
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Post Your Message</h4>
</div>
<div class="modal-body">
<form role="form" class="message-form" method="post" action="">
<div class="form-group">
<input type="text" class="form-control" id="message" placeholder="message" name="message" value="">
</div>
<button type="submit" class="btn btn-success btn-block">Post</button>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<script>
$(document).on("click", ".action_url", function(e) {
e.preventDefault();
$(".message-form").attr('action', e.target.href);
$("#myModal").modal();
});
</script>
&时代;
发布您的消息
邮递
接近
$(文档)。在(“单击”上,“.action_url”,函数(e){
e、 预防默认值();
$(“.message form”).attr('action',e.target.href);
$(“#myModal”).modal();
});
和链接到
我已经创建了一个使用setTimeout的替代版本(但这有点像黑客,更重要的是没有完全消除这个问题)
有人在野外见过这个问题吗?知道原因吗?最重要的是,修复方法?试试这个,希望它对你有用you@CarstenL谢谢你。经过初步测试,它似乎是有效的。我会把它交给测试人员,由他来测试。如果您能解释一下为什么使用回调函数的设计能够更一致地工作,我会非常感兴趣。原因是回调函数只在函数中的代码完成后运行。aka在启用
attr
之前,不应打开模式loaded@CarstenLøvboAndersen测试仪仍在报告一些故障。嗯…我已经更新了这个,但它是一个很长的机会,如果它不工作,那么你必须更具体的时间和地点,它失败