-1

これは私のコードです。エラーが発生しています。
エラー:キャッチされない例外:[例外..."ユーザーによるプロンプトの中止"nsresult: "0x80040111(NS_ERROR_NOT_AVAILABLE)"場所:"JSフレーム::resource:// gre / components / nsPrompter .js :: openTabPrompt::行468"データ:いいえ]

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="loginform.aspx.cs" Inherits="loginform" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title>Untitled Page</title>
  <script src="js/jquery-1.6.js" type="text/javascript"></script>
   <script type="text/javascript">   
   $(document).ready(function(){
     $("#btnsubmit").click(function(){      
        $.ajax({    
          type: "POST",            
           url: "loginform.aspx/getdataval",
           data:"{'uname':'"+$("#TextBox1").val()+"','passwod':'"+$("#TextBox2").val()+"'}",           
           contentType: "application/json;charset=utf-8",   
           dataType: "json",         
           success: function(msg) {
           alert("welcome");
           AjaxSucceeded(msg);
           },
              error: AjaxFailed
      })
   });
});
           function AjaxSucceeded(result) {
              alert(result.d);
              var Emp=result.d;
             $("#output").append('<p>'+Emp.Sname+ ' ' + Emp.Sno+'</p>');
           }
           function AjaxFailed(result) {
              alert(result.status + ' ' + result.statusText);
              alert("Failure");
           }  

   </script>


</head>
<body>
   <form id="form1" runat="server">
   <div>
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
       <br />
       <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
       <br />

       <asp:Button ID="btnsubmit" runat="server" Text="Button" />
       <div id="output">
       </div>
   </div>
   </form>
</body>
</html>


理由を見つけてコードを書き直すのを手伝ってください。
前もって感謝します。

4

1 に答える 1

1

これはであるため、フォーム送信に対してfalsePOSTを返す必要があります(たとえば、のクライアント側ハンドラー)。また、とはタイプであるため、クライアント側のスクリプトで正しく参照するには、それらをキャプチャする必要があります。以下のコードが機能するはずです。btnsubmitTextBox1TextBox2<asp:TextBox>ClientID

function AjaxSucceeded(result) {
    alert(result.d);
    var Emp = result.d;
    $("#output").append('<p>' + Emp.Sname + ' ' + Emp.Sno + '</p>');
}

function AjaxFailed(result) {
    alert(result.status + ' ' + result.statusText);
    alert("Failure");
}

$(document).ready(function() {
    $("#btnsubmit").click(function(e) {
        $.ajax({
            "type": "POST",
            "url": "loginform.aspx/getdataval",
            "data": "{'uname':'" + $("#<%=TextBox1.ClientID %>").val() + "','passwod':'" + $("#<%=TextBox2.ClientID %>").val() + "'}",
            "contentType": "application/json;charset=utf-8",
            "dataType": "json",
            "success": function(msg) {
                alert("welcome");
                AjaxSucceeded(msg);
            },
            "error": AjaxFailed
        });
        //required because "type" is "POST"
        e.preventDefault();
        return false;
        //although it's a good idea anyway because we
        //don't want a postback.
    });
});​
于 2012-06-20T14:03:08.053 に答える