0

私はこれをあまりにも長い間見つめてきましたが、何が悪いのかわかりません。javascript で jquery フォームからフォーム データを取得し、それを mysql サーバーに投稿する php ページに送信しようとしています。これが私のコードです:

「index2.html」(フォームページのみ)

<title>Login Test</title>
</head>
<body>

<div data-role="page">
<div data-role="header">
    <h1>Login</h1>
</div>

<div data-role='content'>

    <form id="testform" action="/ajaxtest/userInfo2.php">
    <label for="name" class="ui-hidden-accessible">Name:</label> 
    <input type="text" name="usr" placeholder="Username"/>
    <label for="password" class="ui-hidden-accessible">Age :</label> 
    <input type="text" name="age" placeholder="Password"/>
    <button id="sub">Submit</button>
    </form>

</div>

</div>
</body>

次は「index2.html」にちゃんと入っている「my_script.js」

$("#sub").click( function() {
event.preventDefault();
 $.post( "/ajaxtest/userInfo2.php", 
         $.(#testform).serializeArray() 
  );
}); 

最後に、テーブルにデータを送信する php ページである「userInfo2.php」

<?php
$conn = mysql_connect('localhost', 'root', 'root');
$db = mysql_select_db('myDatabase');
$name = $_POST['usr'];

mysql_query("INSERT INTO ajaxtest (name) VALUES ('$name')");

?>

私のテーブルには「名前」という 1 つのフィールドしかないことに注意してください。私はただ一つの分野を機能させ、それから拡大を続けようとしていた. これをテストしようとするたびに、userInfo2.php ページに「未定義」と出力され、テーブルに空白の名前が挿入されます。

POSTと同じ変数を取得するためにPHPにGET行を投げてみましたが、うまくいきました。テーブルに正しい名前を追加しましたが、まだ「未定義」と出力されていました。ただし、それでも POST を機能させたい...

私が見落としていた小さなものであることを本当に願っていますが、助けてくれてありがとう!

4

1 に答える 1

2

あなたの選択は間違っています

$.(#testform)

する必要があります

$('#testform')

そして、イベント引数を渡す必要があります

$("#sub").click( function(event) // <-- here 
于 2013-01-18T16:51:28.223 に答える