1

私は本を​​使ってjavascriptを学び、jqueryでajaxを教える最後の章の1つにいます。本の例は機能しません。作者がアップロードして確認したサイトからファイルをダウンロードしたこともあります。フォームを送信しようとしたときにのみアラートがポップアップ表示されます。コードは次のとおりです。

    <!DOCTYPE html>
<html>
<head>
    <title>Ajax Form Submission</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
        $(document).ready(function(){
            function checkFields(){
                return ($("#name").attr("value") && $("#email").attr("value"));
            }
            $("#form1").submit(function(){
                if(checkFields()){
                    $.post(
                        'test.php', $("#form1").serialize(),
                        function(data){
                            $("#div1").html(data);
                        }
                    );
                }
                else alert("Please fill in name and email fields!");
                return false;
            });
        });
    </script>
</head>
<body>
    <form id="form1">
        Name<input type="text" name="name" id="name"><br />
        Email<input type="text" name="email" id="email"><br />
        <input type="submit" name="submit" id="submit" value="Submit Form"> 
    </form>
    <div id="div1"></div>
</body>
</html>

呼び出しているPHPは次のとおりです。

<?php
echo "Name: ". $_Request['name'] . "<br />Email:" . $_Request['email'];
?>
4

1 に答える 1

0

jQueryのval関数を使用して、テキストフィールドの値を取得します。

function checkFields(){
   return ($("#name").val() && $("#email").val());
}

valueテキストが編集されても、ブラウザは属性を更新しません。を使用する場合にも機能します.prop('value')

于 2013-03-26T02:19:40.683 に答える