我正在尝试使用JQuery获取从登录表单生成的$ _POST变量。 我的网页有三个部分Header,Navigation和Main。 “Main”包含表单,应根据表单输入的结果进行更改(登录验证)。 我可以在提交thr表单时更改“main”部分,但无法获取表单标签创建的$ _POST变量。
我怀疑我需要使用ajax来执行此操作,但我对ajax完全不熟悉,并且找不到一个好的简单示例。
我将非常感谢您提供有关如何使其正常运行的帮助和建议。
以下是我尝试使用的测试文件。 (TEST_1.php中的数组转储始终为空)
test.php的
<?php
session_start();
echo "<!DOCTYPE html><html lang='en'><head>";
echo "<script language='JavaScript1.1' src='scripts/KSG.js'></script>";
echo "<script type='text/javascript' charset='utf-8'>
function valid_mem(){
if (document.form_1.member.value.length === 0){
req('Username.');
return false;
}else{
if (document.form_1.mpass.value.length === 0){
req('Password');
return false;
}return true;
}}
</script>";
echo "<script src='js/jquery-1.8.0.min.js'></script>";
echo "</head>";
echo "<body style='background-color:#eeeecc'>";
echo " <div style='background-color:#6495ed; height: 80px;'>";
echo " <div class='col-md-12 text-center'><b>HEADER</b> div</div>";
echo " </div>";
echo " <div id='mainx' style='background-color:#cccccc; height: 600px;'>";
require ('TEST_0.php');
echo " </div></body></html>";
?>
TEST_0.php
<?php
echo "<script type='text/javascript' charset='utf-8'>
$(document).ready(function(){
$('#form_1').submit(function(e){
e.preventDefault();
var z = valid_mem();
if(z){
var x = $('#form_1').attr('action');
alert('debug_1: '+x);
console.log(x);
$('#mainx').load(x);
}
});
});
</script>";
echo "<form id='form_1' name='form_1' action='TEST_1.php' method='post'>";
echo "<b>MAIN</b> div<br>A test form using submit<br><br>";
echo "Member: <input type='text' name='member' > ";
echo "Password: <input type='text' name='mpass' >";
echo "<button id='but1' type='submit' >OK</button>";
echo "</form>";
?>
TEST_1.php
<?php
echo " THIS IS A DUMMY PAGE: TEST 1<br><br>";
echo "<pre>";var_dump($_POST);echo "</pre>";
?>
答案 0 :(得分:0)
首先,你似乎对PHP很新。我建议你阅读php.net上的"getting started"部分(具体来说,你不应该&#34;回复所有内容,它会让你的代码难以阅读 - 只需将它留在标签之外)。
其次,由于PHP变量是服务器端,因此无法通过JS直接访问它们。您有以下选择:
对于AJAX,它通常是一种动态地从服务器端向客户端获取数据的好方法,但在这种情况下,它将是不必要的复杂,因为$ _POST仅对页面可用表格被发送到。