2013-03-05 83 views
0

我使用此选择框从中选择一个选项并显示内容根据选择。 我没有使用提交按钮提交这个表单,这就是为什么我在这个下拉框中添加了onsmit/onchange功能。检查表单是否提交与PHP

这是我的下拉框:

<select class="select" name="type" onchange="document.forms[0].submit();"> 
    <option value="1">Tutor</option> 
    <option value="2">Institute</option> 
    <option value="3">Student</option> 
</select> 

有谁能够告诉我,我怎么能检查这个选择框选择一个选项或不使用Javascript?当然,我需要确保检查表单是否已提交或不用PHP。

+0

PHP是服务器端。如果你需要检查客户端的东西,你需要Javascript。 – m4t1t0 2013-03-05 14:30:34

回答

0

为什么不从PHP代码创建“回声”?

echo $_POST['type']; 

从您的PHP代码。我不确定这是否正确,但我相信你应该得到一些回应:'1','2'或'3',具体取决于提交的值。 我不太记得电台,请原谅我。

1

使用isset

if (isset($_POST["type"])) ... 
+0

是的,我试过了..像这样 - \t if(isset($ _ POST [“type”])){\t \t \t \t echo'good'; \t} else { \t \t echo'bad'; \t}总是脚本去'坏'; – TNK 2013-03-05 14:36:27

+0

您是否将表单标签的方法属性设置为发布?如果没有,您可以使用$ _GET代替 – Philipp 2013-03-05 14:37:59

1

使用jQuery这样的:

$("select[name='type']").change(function(){ 
    if($(this).val() != ""){ 
     $(this).parent().submit(); 
    } 
}); 

HTML:

<form> 
<select class="select" name="type"> 
    <option value="">Select one</option> 
    <option value="1">Tutor</option> 
    <option value="2">Institute</option> 
    <option value="3">Student</option> 
</select> 
</form> 
+0

请参阅我的表单正在使用onchange或onsubmit提交。没有提交按钮。当选择一个选项表格时应该检查。 – TNK 2013-03-05 14:40:19

+0

@TNK应该在JavaScript还是PHP中检查? – 2013-03-05 14:42:05

+0

是的,它应该是JavaScript,不是吗? – TNK 2013-03-05 14:43:15

0

您可以检查POST从选择的名字被提交,然后检查它的一个像这样的整数:

if(isset($_POST['type'] && is_int($_POST['type'])) 
    { 
    // It's been submitted and you can do your processing 
    } 

希望有帮助。

+0

虽然我不是一个javascript程序员,但我认为你需要有一个id ='form [0]'在选择名称之后的表单名称和id ='type'之后...您也可以尝试将表单[0]更改为名称='myform'id ='myform'之类的内容(但我在这里猜测您是否可以在提交表单名称中使用数组。) – 2013-03-05 15:11:01