我想在onclick时禁用提交按钮。即时通讯能够禁用按钮,但我不能提交后值到PHP。onclick停用提交按钮
回答
我发现了一个替代方案的在线。我做的是创建一个虚假的禁用和隐藏按钮。当实际的按钮被点击时,我会隐藏它并显示假的禁用按钮。
实际的按钮:
$onclick = "
var boolconfirm = confirm('$strconfirmattempt');
if(boolconfirm==true){
finishattempt.style.display='none';
finishattempt2.style.display='inline';
}
return boolconfirm;";
假按钮:
echo "<input type=\"submit\" name=\"finishattempt\" value=\"submit\" onclick=\"$onclick\" />.
<input type=\"submit\" id=\"finishattempt2\" name=\"finishattempt2\" value=\"submit\" style=\"display:none;\" DISABLED/>\n";
更好地设置你的代码的格式。它不应该在这样一个难以理解的块中。一旦你格式化了它,突出显示代码并点击Ctrl + K,这会将所有内容缩进4个空格,使其显示为预格式化的源代码。 – 2010-07-06 14:26:16
+1用于查找可行解决方案并格式化您的代码。尽管将来您可能希望将代码分解为更多行,以便不出现水平滚动条。但是,它已经比以前看起来好了100倍。 – 2010-07-06 14:40:18
哈哈好吧。我会尝试下次更好地格式化它。 – nuttynibbles 2010-07-06 14:40:25
<input type="submit" onclick="this.disabled = true" value="Save"/>
或ref this
嗨,这个工程,但如果我wanan提交到PHP,POST值缺失。然而,我发现了一个替代解决方案,我将在下面发布。随时对此发表评论。 – nuttynibbles 2010-07-06 14:19:04
如果已完成,则该值不会通过后期保留。 – Polaris878 2010-07-06 14:45:11
如果禁用的输入,那么它的价值自然不会被列入表单数据。您需要在您提交之后禁用按钮。如果将回调绑定到onclick
,则它会在之前运行表单提交。
你需要的是这样的:
的jQuery:
$(document).ready(function() {
$(document).unload(function() {
$('#submit-btn').attr('disabled', 'disabled');
});
});
定期JS:
document.onunload = disableSubmit;
function disableSubmit() {
/* disable the submit button here */
}
基本上,而不是绑定到提交按钮的onclick
事件,这将禁用代码绑定到文档的卸载事件( document.onunload
),一旦表单被提交并且你开始离开页面,它就会被触发。
添加一些关于你的代码是如何的jQuery和不老旧的JS – Polaris878 2010-07-06 14:42:04
啊,是的,我已经提到,第一个片段是我的编辑中的一个jQuery,但我认为我意外删除它。 – 2010-07-06 14:49:53
你可以使用一个隐藏字段将举行按钮的价值和拉该值你的POST数据:
<input type="hidden" id="hiddenField" value="default" />
<input type="button" id="myButton" onclick="buttonClick();">
function buttonClick()
{
document.myForm.myButton.disabled = true;
document.myForm.hiddenField.value = "myButtonClicked";
}
我的PHP是一个有点生疏,但你可以访问隐藏字段像这样:
if ($POST['hiddenField'] == "myButtonClicked")
{
// Click handling code here
}
为什么不创建禁用的提交按钮被隐藏,并积极提交按钮,显示的onClick残疾人和隐藏活跃?我可以在jQuery中做到这一点,但如果没有它,我就没用。伤心,呃?
使用jQuery的加入onclick处理程序返回false:
<input type="submit" value="Submit" onClick="$(this).click(function() {return false;});"/>
我用简单的jQuery解决了这个问题。代码删除点击按钮,然后附加假按钮或一些像“加载..”文本,并最终发送表单。
HTML:
<div class="holder"><input type='submit' value='ACCEPT' class='button'></div>
的jQuery:
$('.button').click(function() {
$('.button').remove();
$('.holder').append("//fake input button or whatever you want.");
$('.form').submit();
});
与其他方法一样卸载在一个瞬间,你点击发送表单的按钮变化性差异。沉重的形式,我认为是一个更好的做法。
- 1. 表单提交按钮onClick JavaScript函数
- 2. 提交按钮不响应Onclick
- 3. onclick在提交按钮中有href
- 4. 停止按钮从提交然后使用JavaScript提交表单
- 5. 提交按钮不提交
- 6. 提交按钮
- 7. 提交后启用提交按钮
- 8. 形式不镀铬如果提交表单提交按钮被禁用的onclick
- 9. 用提交按钮的形式提交表单与几个提交按钮
- 10. 表单提交按钮onclick不会调用我的JS功能
- 11. 试图提交表单并使用同一按钮onclick点击
- 12. 停止cakephp 3.x FORM在多点提交后多次提交提交按钮
- 13. 提交后禁用按钮
- 14. 用按钮提交表单
- 15. jquery禁用提交按钮
- 16. Icomoon提交按钮
- 17. 2提交按钮
- 18. 提交按钮C#
- 19. Laravel提交按钮
- 20. 按提交输入按钮
- 21. 如何在提交按钮onclick事件中取消表单提交?
- 22. 试图提交表单提交按钮作为按钮
- 23. 2提交按钮2表单 - 提交按钮水平对齐
- 24. 表单提交按钮不会提交按钮时的名称是“提交”
- 25. 禁止提交表单按钮提交
- 26. 提交一个提交按钮
- 27. Rails:提交按钮不提交值
- 28. 添加提交按钮值提交()
- 29. 提交后隐藏提交按钮?
- 30. 在点击提交按钮时提交
您可能想要展示如何禁用它。用你提供的小信息来帮助你是不可能的。 – 2010-07-06 13:23:49
很好看我以前发布的问题,我似乎无法在这里找到很好的答案。所有我看到的是人们在讨论ajax vs iframe。所以请告诉我那里的反馈。 – nuttynibbles 2010-07-06 14:13:28
嗨丹尼尔,我会在下面显示我的代码。随时发表评论。 tks – nuttynibbles 2010-07-06 14:19:45