从javascript调用PHP文件

时间:2017-06-16 00:17:26

标签: javascript php html

我有一个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调用的情况下完成吗?

4 个答案:

答案 0 :(得分:0)

您有两种方法可以做到这一点:

  1. 更改Javascript中的操作值
  2. 您可以使用var
  3. 的值创建<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。

希望这有帮助。

&#13;
&#13;
$(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;
&#13;
&#13;