【发布时间】:2015-08-21 15:24:18
【问题描述】:
我有一个 HTML 表单和一个在按下“提交”按钮后调用的 JavaScript 函数,如下所示,
<form id="get_content" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<h1>Header1<h1>
<input type="text" id="title" name="title"><br /><br/>
<h1>Header 2</h1>
<textarea rows=8 cols=62 name="content" id="content"></textarea><br/>
<input name="submit" type="submit" value="Submit" onclick="js_function();" /><br/>
<span name="result" id="result"></span>
</form>
function js_function(){
var result = document.getElementById("result");
var txt_input = document.getElementById("title");
var result_a = "Result A";
var result_b = "Result B";
var error_value = "Error Detected.";
result.innerHTML = "Not Detected. Should default to what ever the user prefers. ";
if (!is_result(txt_input)){
result.innerHTML = "Send Error Code.";
var result = error_value;
return result;
}
if (is_resultA(txt_input)){
result.innerHTML = "Result A";
var result = result_a;
return result;
}
if (is_resultB(txt_input)){
result.innerHTML = "Result B";
var result = result_b;
return result;
}
}
然后我想在处理后用 PHP 捕获 JS 的返回值。所以我给了PHP sn-p。 JS 函数返回正确的值,但问题是 PHP sn-p 交互时,JS 函数的返回值似乎为 NULL。
if (isset($_POST['submit']))
{
$result_chk = $_GET['result'];
if ($result_chk == 'Result A'){
echo "This is A";
}
else if ($result_chk == 'Result B'){
echo "This is B";
}
else {
echo "ERROR";
}
}
是因为我再次调用了 PHP 中的“提交”按钮吗?或者是否有任何可能的方法可以在 PHP 运行之前将 JS 值捕获到 PHP 而不会传递。我也试过在 JS 函数的 URL 中传递值,当 PHP 交互时它也消失了。
【问题讨论】:
-
尝试使用
print_r($_POST)和print_r($_GET)用php查看数据
标签: javascript php html forms