如何使用Javascript和Prototype毫不费力地禁用提交按钮?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用Javascript和Prototype毫不费力地禁用提交按钮?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1601字,纯文字阅读大概需要3分钟。
内容图文
所以我找到了this个推荐,但我似乎还不太清楚该怎么做.
这是我最初开始的代码:
function greySubmits(e) {
var value = e.srcElement.defaultValue;
// This doesn't work, but it needs to
$(e).insert('<input type="hidden" name="commit" value="' + value + '" />');
// This causes IE to not submit at all
$$("input[type='submit']").each(function(v) {v.disabled = true;})
}
// This works fine
Event.observe(window, 'load', function() {
$$("input[type='submit']").each(function(e) {
Event.observe(e, 'click', greySubmits);
});
});
无论如何,我已经很接近了,但是我似乎再也无法做到.
谢谢您的帮助!
更新:对不起,我想我还不太清楚.当某人单击提交按钮时,我想禁用所有提交按钮.但是我确实需要发送Submit按钮的值,以便服务器知道我单击了哪个按钮,因此知道了插入调用. (注意:insert确实是not会创建您调用它的元素的子代.)然后,在禁用提交按钮之后,我需要调用包含提交按钮的表单Submit调用,因为在禁用按钮后IE不会提交.那有意义吗?
解决方法:
您需要完全按照答案说:
“不要在按钮的“ onclick”中禁用按钮,而要保存它,并在表单的onsubmit中进行.”
因此,在greySubmits()中,保留设置隐藏值的行,但删除禁用所有提交按钮的行.
然后在您的在线表单中添加另一个事件处理程序-而不是提交按钮-来禁用该事件处理程序.
function reallyGreySubmits(e) {
// This causes IE to not submit at all
$$("input[type='submit']").each(function(v) {v.disabled = true;})
}
Event.observe(window, 'load', function() {
$$("input[type='submit']").each(function(e) {
Event.observe(e, 'click', greySubmits);
});
$$("form").each(function(e) {
Event.observe(e, 'submit', reallyGreySubmits);
});
});
我使用的另一个选项是不禁用提交,而是在两个元素之间交换可见性.单击时,将提交标记为隐藏,然后使div或其他显示为“已禁用”的元素可见.
内容总结
以上是互联网集市为您收集整理的如何使用Javascript和Prototype毫不费力地禁用提交按钮?全部内容,希望文章能够帮你解决如何使用Javascript和Prototype毫不费力地禁用提交按钮?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。