我有一个HTML表单,它将PHP函数调用为:
<form action="test.php" method "get">
user data..
user data
</form>
现在我想将功能更改为:
User enters 'yes' : Goto test1.php
User enters 'no' : Goto test2.php
因为我无法找到通过HTML直接实现此目的的方法。我从HTML中调用了javascript:
&lt; \ input type =&#34; button&#34;的onclick =&#34; myfunction的()&#34;值=&#34;提交&#34; /&GT;
在myfunction()
电话中,
我使用
var = document.getElementById(&#39; data&#39;)。value
现在解析用户输入后。我想采取所有表单数据并将其传递给PHP文件,如:
if var==yes:
action="test1.php" method="get"
if var==no:
action="test2.php" method="get"
我浏览了其他建议Ajax调用的答案。 可以在没有Ajax调用的情况下完成吗?
答案 0 :(得分:0)
您有两种方法可以做到这一点:
<input type="hidden" name="var"/>
醇>
使用第二种方式,您只需要一个php文件(test.php),如果$_GET['var'] == 'yes'
,则可以执行操作1其他操作2
答案 1 :(得分:0)
可以在php中轻松完成。
HTML:
<form action="test.php" method="get">
user data..
user data
</form>
test.php的:
<?php
if (isset($_GET["somefield"]) && $_GET["somefield"] == "yes")){
header("Location:test1.php");
exit;
} else {
header("Location:test2.php");
exit;
}
?>
这假设您的html中有一个名为somefield
的字段,如果它的值为yes
,则应导航到test1.php
。上面使用的标题函数只是重定向到另一个页面。
答案 2 :(得分:0)
嗯,很抱歉问这个,但为什么不使用AJAX电话?您所要做的就是编写以下代码并包含jQuery库:
var req = $.ajax({url:"******.php"});
但是,如果您不想使用jQuery,可以将两个PHP类合并为一个,并为每个案例使用if语句。
$a = $_GET['yourVar'];
if ($a = 'yes') {
...
} else { //i suppose that the variable is a yes/no boolean
...
}
请注意,将布尔值传递给PHP类会将其转换为字符串。
答案 3 :(得分:0)
最简单的方法是在元素上使用on change事件,在此示例中是一个下拉菜单。
因此,当用户选择Yes时,action属性将为test1.php,如果选择No,则表单action属性为test2.php。因此,当用户单击“提交”按钮时,它将重定向到您指定的URL。
希望这有帮助。
$(function() {
$('#myvalue').change(function() {
var url = 'test1.php';
if ($(this).val() === 'No') {
url = 'test2.php';
}
$('#myform').attr('action', url);
});
});
&#13;
<form id="myform" action="test1.php" method="get">
<select id="myvalue">
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
<input type="submit" value="Submit" />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;