我有一个aspx页面(运行.net 4 framwork 而不是MVC ),它有一个使用href的mailto并且还有一个。链接按钮可正常触发后面的代码。如果我点击带有mailto的href(它将使用正确的信息启动outlook),然后尝试单击链接按钮,则不会触发。渲染时看起来像这样。
<input type="submit" name="ctl00$ContentPlaceHolder1$btnSave" value="Save Attendance" onclick="return checkDisableButton(this.id, 'PROCESSING');" id="ContentPlaceHolder1_btnSave" class="ButtonPrimary button" disabled="">
checkDisabledButton代码
function checkDisableButton(btn, parmText, icon) {
var mbtn = $('#' + btn);
mbtn.addClass("buttonPad buttonProcessing button");
mbtn.val(parmText);};
我在var mbtn行放了一个断点,在点击mailto链接后它没有点击它。如果我加载页面并且不点击mailto链接,它就会触发。
就这样你有了...... href看起来像这样
<a id="ContentPlaceHolder1_hlMailto" href="mailto:a@a.com;%20b@b.com;%20?Subject=2846">Load email</a>
(我在那个href上编辑了一些信息,所以我可能把它弄乱了副本)
我检查了mailto被点击之前和之后的代码,它似乎没有改变。
无论如何..想知道是否有人有任何想法...... 谢谢 香农
答案 0 :(得分:0)
不是说这是完美的方式......但是想出了什么。我有一些更多的代码,我没有想到包括在点击它之后禁用按钮,因此它不会运行多次。这是与mailto有问题的代码。该代码看起来像这样
function DisableButtons() {
var inputs = document.getElementsByTagName("INPUT");
for (var i in inputs) {
if (inputs[i].type == "button" || inputs[i].type == "submit") {
inputs[i].disabled = true;
}
}
} window.onbeforeunload = DisableButtons;
我注释掉了该代码并将此代码添加到checkDisableButton函数
$(mbtn).one('click', function (event) {
event.preventDefault();
//do something
$(this).prop('disabled', true);
})
这使得按钮只能被点击一次。它似乎工作。 谢谢 香农