0

我已经盯着这个太久了,只是不知道出了什么问题。我正在尝试从 javascript 中的 jquery 表单中提取表单数据,然后将其发送到 php 页面,该页面将其发布到 mysql 服务器。这是我的代码:

“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() 
  );
}); 

最后是“userInfo2.php”,这是将数据提交到我的表的 php 页面

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

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

?>

应该知道,我的表只有一个字段:“name”。我只是想让一个领域发挥作用,然后继续扩展。每次我尝试对此进行测试时,它都会在我的 userInfo2.php 页面上打印“未定义”,并将一个空白名称插入我的表中。

我尝试在我的 php 中添加一条 GET 行来检索与 POST 相同的变量,这很有效。它向表中添加了正确的名称,但仍打印“未定义”。但是,我仍然希望 POST 工作......

我真的希望这只是我忽略的一些小问题,但在此先感谢您的帮助!

4

1 回答 1

2

你的选择是错误的

$.(#testform)

应该

$('#testform')

你应该传入事件参数

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