首页 文章

从javascript调用PHP文件[关闭]

提问于
浏览 221
-3

我有一个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为:

<\ input type =“button”onclick =“myfunction()”value =“submit”/>

myfunction() 调用中,我使用表单输入

var = document.getElementById('data') . value

现在解析用户输入后 . 我想采取所有表单数据并将其传递给PHP文件,如:

if var==yes:
    action="test1.php" method="get"
if var==no:
    action="test2.php" method="get"

我浏览了其他建议Ajax调用的答案 . 可以在没有Ajax调用的情况下完成吗?

4 回答

  • 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 . 上面使用的标头功能只是重定向到另一个页面 .

  • 0

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

    • 在Javascript中更改操作的值

    • 您可以使用var的值创建 <input type="hidden" name="var"/>

    使用第二种方式,您只需要一个php文件(test.php),如果 $_GET['var'] == 'yes' ,则可以执行操作1

  • 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类会将其转换为字符串 .

  • 0

    最简单的方法是在元素上使用on change事件,在这个例子中是一个下拉菜单 .

    因此,当用户选择“是”时,则action属性为test1.php,如果选择“否”,则表单操作属性为test2.php . 因此,当用户单击“提交”按钮时,它将重定向到您指定的URL .

    希望这可以帮助 .

    $(function() {
      $('#myvalue').change(function() {
        var url = 'test1.php';
        if ($(this).val() === 'No') {
          url = 'test2.php';
        }
        $('#myform').attr('action', url);
      });
    });
    
    <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>
    

相关问题