我以前得到过SO的帮助。但这里有一些问题。
var userid="12";
var $form = $("<form id='form1' method='post' action='start.php'></form>");
form.append('<input type="hidden" name="userid" value="'+userid+'" />');
$('body').append($form);
window.form1.submit();
start.php
<?php
$x=$_POST['userid'];
?>
这里有什么问题?
它在start.php
上出错Notice: Undefined index: userid in /opt/lampp/htdocs/testCase2/start.php on line 2
答案 0 :(得分:2)
$_POST['userid'];
,在这种情况下不使用var
,userid
数组中没有此类变量POST
。您可以使用:
if( isset( $_POST['userid'] ) ){
$x=$_POST['userid'];
}
答案 1 :(得分:2)
从php
中删除var
<?php
$x=$_POST['userid'];
?>
答案 2 :(得分:1)
只需访问
即可<?php
$x=$_POST['userid'];
?>
而不是var $x;
您的 <form>
应该是这样的
var userid="12";
var $form = $("<form id='form1' method='post' action='start.php'>");
form.append('<input type="hidden" name="userid" value="'+userid+'" /></form>');
$('body').append($form);
window.form1.submit();
答案 3 :(得分:1)
您定义var $form
,但后来只调用form
- 您需要一致的变量名称。顺便说一句,$form
有点混乱,可能会导致调试问题;为了清楚起见,请尝试objForm
之类的内容。
此外,正如其他人所指出的那样,从您的PHP中删除var
并使用isset()
。
答案 4 :(得分:1)
您可以尝试使用此方法,在表单标记内移动隐藏的输入。
var $form = $("<form id='form1' method='post' action='start.php'><input type='hidden' name='userid' value='"+userid+"' /></form>");
$('body').append($form);
window.form1.submit();
<?php
if(isset($_POST['userid'])){
$x=$_POST['userid'];
}
?>
答案 5 :(得分:1)
在您的代码中,您使用$ form作为变量,但仅使用form.append追加。 请将其更改为$ form.append。请检查以下代码。希望它能够奏效。
var userid="12";
var $form = $("<form id='form1' method='post' action='start.php'></form>");
$form.append('<input type="hidden" name="userid" value="'+userid+'" />');
$('body').append($form);
window.form1.submit();