【发布时间】:2016-07-18 06:47:25
【问题描述】:
我已经搜索了几个小时,试图找到解决我遇到的问题的方法。我有一个外部 jQuery 页面来向服务器提交表单数据。我试过使用 event.preventDefault,然后返回 false;但这些似乎都不起作用。此外,如果我在函数的第一行添加警报,它不会出现。
这里是formL的jQuery代码和HTML代码
$(document).ready(function() {
//----------------------------------------------------Sign up------------------------------------------------------------------
$('#signup-form').on('submit', function(event) {
alert("This is working");
event.preventDefault();
var subData = {
'username' : $('suser').val(),
'password' : $('spass').val()
};
$.ajax({
type : 'POST', //define the HTTP verb we want to use
url : 'createUser.php', // url where we want to post
data : subData, // our data object
dataType : 'json' //what type of data we expect back from the server
})
});
});
<form id="signup-form" action="createUser.php" method="post">
<input class="username" id="suser" type="text" name="username" placeholder="username" required><br>
<input class="password" id="spass" type="text" name="password" placeholder="password" required><br>
<input class="password" id="spassconf" type="text" name="password-confirm" placeholder="confirm password" required><br>
<input id="signup-submit" type="submit" value="Signup">
</form>
我尝试过使用 .submit( 和 .on('submit',但似乎两者都不起作用。我很确定这是事件无法识别的问题,但我找不到适用的解决方案我。如果有帮助,我正在使用 chrome。
如果您需要任何其他代码,我很乐意提供。
编辑:按请求编写 PHP 代码
<?php
//get form fields into php variables
$username = $_POST['username'];
$password = $_POST['password'];
$serverName = "198.71.225.145";
$connectionInfo = array("Database"=>"Ironicism_database_project", "UID"=>"ironicism", "PWD"=>"Redhorsemagnet8*");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn===false) {
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
$sql = "INSERT INTO ironicism.users (username, password) VALUES ('$username', '$password')";
$stmt = sqlsrv_query( $conn, $sql);
if($stmt === false)
{
echo "Data Could not be inserted.... working on that yo.<br />";
die( print_r(sqlsrv_errors(), true));
}
?>
【问题讨论】:
-
删除这个
action="createUser.php" method="post" -
event 是 JS 中的保留关键字。停止使用它作为变量。
-
event不是保留关键字。 developer.mozilla.org/en-US/docs/Web/API/Window/… -
现有代码在Fiddle 中按预期工作,无需对代码进行任何更改...
-
@Mr_Green Ups.. 我的错.. 应该是一个标识符吗?根据this 和我长久以来的经验..
标签: javascript jquery forms