1

ユーザーが何も入力しないか、間違った「連絡先ID」を入力してEnterキーを押すと、エラーメッセージが表示され、IDが見つからないことをユーザーに通知するなどの例外を追加しようとしました。助けはありますか?前もって感謝します:)これが私のindex.htmlファイルです。

<html> 
    <body> 
        <script language="javascript" type="text/javascript">

    function ajaxFunction(e){
    var e=e || window.event;
    var keycode=e.which || e.keyCode;
    if(keycode==13 || (e.target||e.srcElement).value==''){ 
    var http;  // The variable that makes Ajax possible! 

    try{ 
        // Opera 8.0+, Firefox, Safari 
        http = new XMLHttpRequest(); 
    } catch (e){ 
        // Internet Explorer Browsers 
        try{ 
            http = new ActiveXObject("Msxml2.XMLHTTP"); 
        } catch (e) { 
            try{ 
                http = new ActiveXObject("Microsoft.XMLHTTP"); 
            } catch (e){ 
                // Something went wrong 
                alert("Your browser broke!"); 
                return false; 
            } 
        }
    }

    var url = "getagentids.php?param=";
                var idValue = document.getElementById("agid").value;
                var myRandom = parseInt(Math.random()*99999999);  // cache buster
                http.open("GET", "getagentids.php?param=" + escape(idValue) + "&rand=" + myRandom, true);
                http.onreadystatechange = handleHttpResponse;
                http.send(null);
         function handleHttpResponse() {
                    if (http.readyState == 4) {
                        results = http.responseText.split(",");
                        document.getElementById('agfn').value = results[0];
                        document.getElementById('agsal').value = results[1];
                        document.getElementById('agtel').value = results[2];
                        document.getElementById('agid').value = results[3];
                    }
                } 
    }
}

</script> 

       <form>
            <table>
                <tr>
                    <td>Contact ID:</td>
                    <td><input id="agid" type="text"
                               name="contactid" onkeyup="ajaxFunction(event)"></td>
                </tr>
                <tr>
                    <td>Tel Number:</td>
                    <td><input id="agtel" type="text"
                               name="contacttel"></td>
                </tr>
                <tr>
                    <td>Name:</td>
                    <td><input id="agfn" type="text"
                               name="contactfullname"></td>
                </tr>
                <tr>
                    <td>Salutation:</td>
                    <td><input id="agsal" type="text"
                               name="contactsalutation"></td>
                </tr>
                <tr>
                    <td><input type="reset" value="Clear"></td>
                    <td></td>
                </tr>
            </table>
        </form>

    </body> 
</html> 
4

2 に答える 2

2

jQueryを使用して基本的な検証を行う方法を次に示します。

$(document).ready(function(){
    $('#contact').keypress(function(e){ //when user presses a key in that Input Box
      var code = (e.keyCode ? e.keyCode : e.which);
      if(code == 13) // check if it is Enter Key
      {
        if($(this).val().trim().length == 0) // check if it is empty
            alert("Error: Shouldn't be empty !");
        else
        {
            // You are good to go here
        }
      }
    });
});​

HTML:

<input id="contact" name="contact" value="" />​

ライブでテストしたい場合は、http: //jsfiddle.net/NFSTL/にアクセスしてください。

KeyPressイベントをその InputBox にバインドしました。

それが役に立てば幸い。:)


編集

jQueryを使用しない場合:

function ajaxFunction(e){
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;

    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;

    if(code==13)
    {
        if(targ.value.trim().length == 0)
            alert("Error: This shouldn't be empty!");
        else
        {
            //do the sending and receiving of data here...
        }
    }
}​

HTML:

<input id="agid" type="text" name="contactid" onkeyup="ajaxFunction(event)" />​

ライブ テストの場合: http://jsfiddle.net/SYf4C/

私が使用した優れたチュートリアルは次のとおりです: quirksmode.org/js/events_properties

jQuery は生活を楽にしてくれます。:) ほとんどすべてのブラウザで動作するように構成された JavaScript ライブラリです。

于 2012-11-24T07:27:10.910 に答える
1

メインページのコーディング:

 $('.vote').click(function() {
        var valueid=$(this).attr("alt");
        $.ajax({
            type: "POST",
            url: "voteajax.php",
            data: "votebtn="+valueid+""
        }).done(function( msg ) {
            var received_data=msg.trim();
            if(received_data=='0')
            {
                alert('Please sign in to vote!');
            }
            else
            {
                alert('received data'+received_data);
                gg2=received_data.split("/");
                var x=gg2[0];
                var no_of_vote=gg2[1];
                $('#totalnoofvotespan').html(no_of_vote);
                window.location='<?php echo $_SERVER['REQUEST_URI']; ?>';
            }
        });


//Ajax Page Coding


    $poll_choice = $_POST['votebtn'];
    $userid=$_SESSION['userid'];
    $date=date('Y-m-d h:i:s');
    $ex=explode(",",$poll_choice);
    $pollid=$ex[0];
    $choiceid=$ex[1];
    if($userid=="")
    {   
        echo "0";   
    }
    else
    {
        ..// Your coding 
        echo $choiceid."/".$numofvote;   // Echo the identifier and access this identifier in main page for message notification
    }

1 つ目はメイン ページのコーディングです。上記のコーディングでは、引数を ajax ページに渡しました。ajaxページでは、メインページから値を取得し、有効でない場合は識別コードをエコーし​​ます。そのコードを使用すると、「有効なコードではありません」と言うことができます。このように、試してみる必要があります。私はこれがあなたを助けるかもしれないと思う

于 2012-11-24T07:04:48.627 に答える