none
JScript çalışma hatasi. RRS feed

  • Soru

  • html sayfasında label, textbox gibi herhangi bir argümanın "onchange" fonksiyon değeri verdiğimde aynı hatayı alıyorum.JScript çalışma hatasi. ShowCustomer tanımsız.

    Kodlar;

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript">
            var xmlHttp;
            function showCustomer(str) {

            if (str == "-1") {
            document.getElementById("txtHint").innerHTML="";
                return;
                }
                
                xmlHttp = GetXMLHttpObject();
                if (xmlHttp == null) {
                alert("Browser ajax desteklemiyor");
                return;
                }
                var url="getcustomer.aspx";
                url+="?q="+str;
                xmlHttp.onreadystatechange=stateChanged;
                xmlHttp.open("GET",url,true);
                xmlHttp.send(null);
            }
            function stateChanged(){
            if (xmlHttp.readyState == 4) {
            document.getElementById("txtHint").innerHTML = xmlHttp.responseText;
            }
            else {
            document.getElementById("txtHint").innerHTML="loading...";
            }
           }
            function GetXMLHttpObject() {
                var xmlHttp = null;
                try {
                //firefox,opera,safari ve IE7 icin
                    xmlHttp = new XMLHttpRequest();
                }
                catch (e) {
                    //IE 6.0+
                    try {
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch (e) {
                        try {
                            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

                    }
                }
                return xmlHttp;
                
                
        </script>
    </head>
    <body>

        <select id="Customer" onchange="showCustomer(this.value)">
            <option value="-1">Select One</option>
            <option value="ALFKI">Alfred</option>
            <option value="NORTS">North</option>
            <option value="WOLZA">Wolski</option>
        </select>
        <p>
        <div id="txtHint">
        <b>Customer info will be listed here.</b>
        </div>
        </p>
    </body>
    </html>

    21 Mart 2013 Perşembe 13:21

Yanıtlar

  •   

    Bu şekilde uğraşmana hiç gerek yok

    1. yondem

    Ajax kontrol tool kit teki TextBoxWatermarkExtender ı kullanabilirsin.

    2.yontem

    javascript

    <script language="JavaScript" type="text/javascript">
    
            function ara_txt() {
                if (document.getElementById('txtAra').value.length == 0) {
                    document.getElementById('txtAra').value = 'aranacak kelimeyi girin';
                }
            }
           
        </script>

    textbox

    <asp:TextBox ID="txtAra" CssClass="txt_arama" Text="aranacak kelimeyi girin" onclick="javascript:this.value=''"
                            onblur="ara_txt()" MaxLength="50" runat="server"></asp:TextBox>
    Kolay gelsin



    21 Mart 2013 Perşembe 14:28

  •         function stateChanged(xhr) {
                if (xhr.readyState == 4) ....
            }
            window.onload = function () {
                document.getElementById("Customer").addEventListener("change", function () {
                    var str = this.value;
                    var xmlHttp = new XMLHttpRequest();
                    var url = "getcustomer.aspx";
                    url += "?q=" + str;
                    xmlHttp.onreadystatechange = stateChanged(xmlHttp);
                    xmlHttp.open("GET", url, true);
                    xmlHttp.send(null);

                }, false);
            }
    21 Mart 2013 Perşembe 14:04

Tüm Yanıtlar


  •         function stateChanged(xhr) {
                if (xhr.readyState == 4) ....
            }
            window.onload = function () {
                document.getElementById("Customer").addEventListener("change", function () {
                    var str = this.value;
                    var xmlHttp = new XMLHttpRequest();
                    var url = "getcustomer.aspx";
                    url += "?q=" + str;
                    xmlHttp.onreadystatechange = stateChanged(xmlHttp);
                    xmlHttp.open("GET", url, true);
                    xmlHttp.send(null);

                }, false);
            }
    21 Mart 2013 Perşembe 14:04
  •   

    Bu şekilde uğraşmana hiç gerek yok

    1. yondem

    Ajax kontrol tool kit teki TextBoxWatermarkExtender ı kullanabilirsin.

    2.yontem

    javascript

    <script language="JavaScript" type="text/javascript">
    
            function ara_txt() {
                if (document.getElementById('txtAra').value.length == 0) {
                    document.getElementById('txtAra').value = 'aranacak kelimeyi girin';
                }
            }
           
        </script>

    textbox

    <asp:TextBox ID="txtAra" CssClass="txt_arama" Text="aranacak kelimeyi girin" onclick="javascript:this.value=''"
                            onblur="ara_txt()" MaxLength="50" runat="server"></asp:TextBox>
    Kolay gelsin



    21 Mart 2013 Perşembe 14:28