Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不能提交表格_Javascript_Php - Fatal编程技术网

Javascript 不能提交表格

Javascript 不能提交表格,javascript,php,Javascript,Php,基本上我有一个有5个单选按钮的表单。没有提交按钮。我希望表单在用户单击任何单选按钮时运行,所以我就是这么做的 <input id="5" type="radio" name="star" onchange="this.form.submit();" <?php if ($row["star"] =="5") echo "checked";?> value="5"/> 测试后,我发现onclick运行表单操作,但在php端,它转到“else”,is像往常一样运行页面。有什

基本上我有一个有5个单选按钮的表单。没有提交按钮。我希望表单在用户单击任何单选按钮时运行,所以我就是这么做的

<input id="5" type="radio" name="star" onchange="this.form.submit();" <?php if ($row["star"] =="5") echo "checked";?> value="5"/>

测试后,我发现onclick运行表单操作,但在php端,它转到“else”,is像往常一样运行页面。有什么想法吗

表单元素似乎具有无效属性,缺少引号和空格。
一般来说,编写更多的代码并使其更清晰更容易

<?php
   $url = "http://example.com/page.php?id=". $urlid ."&title=". $title;
?>

<form name="submit" action="<?php echo $url; ?>" method="POST">


您的PHP正在检查
$\u POST['submit']
是否包含值。您的表单不包含具有属性
name=“submit”
的表单元素,因此它将失败并直接移动到else语句

如果要检查表单是否已发布,则应检查:

if (!empty($_POST)) {}


由于您正在与-

if ($_POST["submit"]) { // this checks whether there is any item named 'submit' inside the POST or not
} else {
    //run the page like usual
}
最简单的方法是放置一个名为
submit
的隐藏项,以便检查验证为true-

<form .. >
     ....
     <input type='hidden' name='submit' value='submit' />
</form>

....

未提交/发布
名称
元素。你可以添加一个名为submit-
的隐藏元素,或者只使用你的单选名
如果(isset($\u POST['star'])
在URl中发送一些东西,比如
?id=this,
不会使它成为
POST
表单元素似乎有一个action属性,没有结束引号,在method属性之前没有空格,可能导致表单以
GET
而不是
的形式提交。另外,您的
操作
缺少结束引号,并且
方法
前面没有空格。表单操作看起来是错误的
if ($_SERVER['REQUEST_METHOD'] == 'POST') {}
if ($_POST["submit"]) { // this checks whether there is any item named 'submit' inside the POST or not
} else {
    //run the page like usual
}
<form .. >
     ....
     <input type='hidden' name='submit' value='submit' />
</form>