使PhP代码在Javascript之前先执行 初始页面加载时的
: 流程如下所示: 服务器端代码->向客户端发送数据->浏览器开始渲染和执行JS 提交表格: 客户端执行代码(javascript)->向服务器发送数据->服务器获取数据和进程 要改变这种工作方式,您需要执行一个或表单提交,并在“成功”时执行上述JavaScript。您可以发布到同一页面或将其更改为RESTful服务 以下是jQuery中AJAX和POST函数的示例: AJAX 邮政(JS)使PhP代码在Javascript之前先执行 初始页面加载时的,php,javascript,jquery,html,Php,Javascript,Jquery,Html,: 流程如下所示: 服务器端代码->向客户端发送数据->浏览器开始渲染和执行JS 提交表格: 客户端执行代码(javascript)->向服务器发送数据->服务器获取数据和进程 要改变这种工作方式,您需要执行一个或表单提交,并在“成功”时执行上述JavaScript。您可以发布到同一页面或将其更改为RESTful服务 以下是jQuery中AJAX和POST函数的示例: AJAX 邮政(JS) 以下是专门为您提供的结果,以上面的两个片段为例 JavaScript/jQuery $(函数(){ 如
以下是专门为您提供的结果,以上面的两个片段为例 JavaScript/jQuery
$(函数(){
如果($('form')。长度>0){
$('form')。提交(函数(e){
e、 预防默认值();
$.ajax({
类型:“POST”,
url:“你的url”,
数据:你的表单数据,
成功:功能(结果){
//结果将包含调用表单的xml或JSON结果
var检查=”;
警惕(检查);
如果(选中!=“”){
警报(“此用户已存在”);
返回false;
}否则{
返回true;
}
},
数据类型:“XML-OR-JSON”
});
});
}
})
尝试在$(窗口)内运行jQuery代码。load()
?问题是php代码在POST
@CollinHenderson:$(函数(){/*…*/})后运行
是jQuery在文档准备就绪时的执行方式。@Travesty3 AFAIK$(function(){/*…*/})
相当于$(document).ready()
,否?也就是说,它在DOM准备就绪时运行,但不一定在页面完全加载时运行(哪个$(window).load()
)有什么想法吗?还有其他设置优先级的方法吗?你是说我应该使用其中任何一种。我应该在哪里插入这段代码?在你的$('form').submit(函数(e){e.preventDefault();--insert code HERE!!!}上面的代码不起作用。如果其余字段不同,它只允许我添加重复的记录(实际上并没有添加到数据库中)但是,它对我来说什么都没有显示。上面的代码仍然只是伪代码,你必须让它发布正确的数据。然后你的网页或RESTful服务的URL我仍然不理解这段代码。但是,我从文件中省略了所有javascript,而使用php代码进行验证。我以前从未使用过AJAX,这就是为什么我不理解这段代码努力理解这一点。
<?PHP
//$errorMessage = "";
//$check = "";
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
//===================================================
// GET THE QUESTION AND ANSWERS FROM THE FORM
//===================================================
$sID = $_POST['studentID'];
$sID = htmlspecialchars($sID);
$firstName = $_POST['firstName'];
$firstName = htmlspecialchars($firstName);
$lastName = $_POST['lastName'];
$lastName = htmlspecialchars($lastName);
$grade = $_POST['grade'];
$grade = htmlspecialchars($grade);
//var_dump($grade);
//============================================
// OPEN A CONNECTION TO THE DATABASE
//============================================
$user_name = "root";
$password = "";
$database = "surveyTest";
$server = "127.0.0.1";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
if ($db_found) {
//============================================
// GET THE LAST QUESTION NUMBER
//============================================
$SQL = "Select * FROM students WHERE SID='$sID'";
$result = mysql_query($SQL);
$db_field = mysql_fetch_assoc($result);
$studentID = $db_field['SID'];
var_dump($studentID);
//=========================================================
// Add a student to the students TABLE
//=========================================================
$SQL = "INSERT INTO students (SID, fName, lName, Grade) VALUES ('$sID', '$firstName', '$lastName', '$grade')";
$result = mysql_query($SQL);
//=============================================================
// SET Multiple rows IN THE answers TABLE for each question for a given student.
//=============================================================
/*$SQL = "Select * FROM tblquestions";
$result = mysql_query($SQL);
$numRows = mysql_num_rows($result); //return number of rows in the table
for ($i = 1; $i <= $numRows; $i++){
$qNum = 'q1';
$SQL = "INSERT INTO answers (QID, A, B, C, D, E, SID) VALUES ('$qNum', 0, 0, 0, 0, 0, '$sID')";
$question_Number = ltrim($qNum,'q');
$question_Number++;
$qNum ='q'.$question_Number;
$result = mysql_query($SQL);
}*/
mysql_close($db_handle);
print "The student with the following ID ".$sID. " has been added to the database";
}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}
}
?>
<html>
<head>
<title>Survey Admin Page</title>
</head>
<body>
<FORM NAME ="setQuestionForm" METHOD ="POST" ACTION ="setStudent.php" id="sStudent">
<p>Enter student ID: <INPUT TYPE = 'TEXT' Name ='studentID' size="4"></p>
<p>Enter First Name: <input type="text" name="firstName" size="20"></p>
<p>Enter Last Name: <input type="text" name="lastName" size="20"></p>
<p>Select Grade: <select name = "grade">
<option value = "1">First Grade</option>
<option value = "2">Second Grade</option>
<option value = "3">Third Grade</option>
<option value = "4">Fourth Grade</option>
<option value = "5">Fifth Grade</option>
<option value = "6">Sixth Grade</option>
<option value = "7">Seventh Grade</option>
<option value = "8">Eighth Grade</option>
</select></p>
<INPUT TYPE = "submit" Name = "Submit1" VALUE = "Add Student">
</FORM>
<P>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
$(function(){
if ($('form').length > 0) {
$('form').submit(function(e){
var check = "<?php echo $studentID; ?>";
alert(check);
if (check != "")
{
alert ("This user already exists");
return false;
}
else
{
return true;
}
});
}
})
</script>
</body>
</html>
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
$.post('ajax/test.html', function(data) {
$('.result').html(data);
});
$(function () {
if ($('form').length > 0) {
$('form').submit(function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "YOUR-URL",
data: YOUR - FORM - DATA,
success: function (result) {
//result will contain the xml or JSON result of calling the FORM
var check = "<?php echo $studentID; ?>";
alert(check);
if (check != "") {
alert("This user already exists");
return false;
} else {
return true;
}
},
dataType: "XML-OR-JSON"
});
});
}
})