【问题标题】:How to JavaScript function returns value to PHP to catchJavaScript函数如何将值返回给PHP来捕捉
【发布时间】: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>
JavaScript 代码与此类似:

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


【解决方案1】:

将结果声明为输入字段

 <input value="" name="result" id="result"/>

并在JS中设置为:

 document.getElementById('result').value='new value';

一旦表单被提交,它将具有

中的值
  $_POST['result']; 

我可以看到你提到了$_GET THERE

【讨论】:

  • 这是一个有价值的答案,但仍然无法解决问题。感谢您的快速回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 2023-03-11
  • 2013-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多