在我的asp web应用程序中,我正在通过即兴jquery制作对话框。 在我第一次尝试单击“提交”按钮后,页面在触发onclick事件后运行良好,但在下一次尝试时,页面始终显示Internet Explorer无法显示该网页。也许我在执行jquery时遇到了问题..
<asp:Content ID="Content1" ContentPlaceHolderID="head"
runat="server">
<script type="text/javascript" language="javascript">
//Update PartNumber
function confirmSubmitUpdatePartNumber() {
$.prompt('Are you sure you want to Update this PartNumber?'
, {
buttons: { Ok: true, Cancel: false }
, callback: confirmSubmitResultUpdatePartNumber
}
);
return false;
}
function confirmSubmitResultUpdatePartNumber(v, m, f) {
if (v) //post back if the user clicked OK
$('#ctl00_mainContentPlaceholder_btnPartNumber').click();
}
</script>
</asp:Content>
<asp:Content ID="detailContent" ContentPlaceHolderID="mainContentPlaceholder"
runat="server">
<input type="button" onclick="return confirmSubmitUpdatePartNumber();" value="Update PartNumber Location" />
<asp:Button ID="btnPartNumber" runat="server" Style="display: none;"
onclick="btnPartNumber_Click"/>
</div>
答案 0 :(得分:0)
您不希望在onclick上执行此操作,您希望使用$ .submit(以防用户点击输入而不是点击)。并非所有用户都有鼠标点击,因此您的网站无法访问,这是非常糟糕的做法。
您想避免使用内联JavaScript。将它放在外部脚本文件中,并将所有脚本放在一个文件中。
使用$('#form').submit(function() {});
后,您可以进行提示测试,并返回true(提交)或返回false(如果他们点击取消)。然后你根本不需要confirmSubmitResultUpdatePartNumber函数,你已经缩短了代码并清理了它。您还可以删除额外的按钮并显示提交按钮,这会使您的HTML更具语义。
总的来说,您应该使用更好的编码实践。试着看看HTML5BoilerPlate文档:http://html5boilerplate.com/docs/#Make-it-Better
您可以使用Firefox和Firebug进行调试,而不是IE。然后你可以在控制台中查看是否有任何问题。您还可以在控制台中添加有用的警报,以查看脚本的位置:console.log("I've made it this far");
答案 1 :(得分:0)
如果显示“Internet Explorer无法显示网页”,则很可能是服务器错误。
对于服务器端点击处理程序,asp:Button
应为OnClick
(大写)可能无关紧要。
您是否可以确认每次在Visual Studio中调用btnPartNumber_Click
?