如何在php中调用ajax函数?

时间:2017-04-25 05:33:36

标签: javascript php jquery ajax

我有一个页面,我在哪里添加一个问题,这个页面有两个选择标签,一个用于显示类型,另一个用于章节。

现在,在第一次添加问题时,用户将选择一个类型,然后章节将通过ajax函数加载,并将显示在选择标记中。

现在,当用户提交表单时,我会在会话中保存此类型,以便下次用户转到该页面时,默认情况下会选择该类型。

现在只有我可以看到select标签中选择的类型,但是章节标签中没有任何内容,我想显示章节是否在会话中保存类型,因为我需要在页面时调用ajax函数加载并设置会话类型。

   <?php 
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>MCQ Questions</title>
</head>
<body>

<?php
session_start();
?>

<form method="post" action="uploadQuestion.php" enctype="multipart/form-data">
    <p> Enter the question :</p> <input name="question" type="text"> <br><br>


    <?php
    if (isset($_SESSION['quetype']))
    {
    $type = $_SESSION["quetype"]; ?>


    Select Rank :
    <select name="types" id="types" onchange="getValue(this)">

        <option value=""> Select Rank</option>

        <option name="type" id="t1" value="1" <?=($type==1?"selected":"");?>> Apprentice </option>

        <option name="type" id="t2" value="2" <?=($type==2?"selected":"");?>> Volume 1 CDC </option>

        <option name="type" id="t3" value="3" <?=($type==3?"selected":"");?>> Volume 2 CDC Video</option>

        <option name="type" id="t4" value="4" <?=($type==4?"selected":"");?>> Volume 3 CDC Video</option>

        <option name="type" id="t5" value="5" <?=($type==5?"selected":"");?>> Volume 4 CDC Video</option>

        <option name="type" id="t6" value="6" <?=($type==6?"selected":"");?>> Volume 5 CDC</option>

        </select> <br><br>

            <?php
            }
            else {
                ?>

                Select Rank :
                <select name="types" id="types" onchange="getValue(this)">

                <option value=""> Select Rank</option>

                    <option name="type" id="t1" value="1"> Apprentice </option>
                    <option name="type" id="t2" value="2"> Volume 1 CDC </option>
                    <option name="type" id="t3" value="3"> Volume 2 CDC Video </option>
                    <option name="type" id="t4" value="4"> Volume 3 CDC Video </option>
                    <option name="type" id="t5" value="5"> Volume 4 CDC Video </option>
                    <option name="type" id="t6" value="6"> Volume 5 CDC </option>

                </select> <br><br>
                <?php
            }
    ?>

    Select chapter :
    <select name="chapters" id="chapters">

     <option value="">Select chapter</option>


    </select> <br><br>

    <p> Enter options :</p>
    Enter option A : <input name="opt1" type="text"> <br><br>
    Enter option B : <input name="opt2" type="text"> <br><br>
    Enter option C : <input name="opt3" type="text"> <br><br>
    Enter option D : <input name="opt4" type="text"> <br><br>

    Select correct answer :

    <select name="ans" id="type">
        <option value="">Select answer...</option>
        <option value="A">A</option>
        <option value="B">B</option>
        <option value="C">C</option>
        <option value="D">D</option>
    </select>

    <br><br>

    <input type="submit" value = "Submit">


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script>


    <?php

            if(!empty($type))
            {
                ?>
    $( document ).ready(function() {
        getValue(<?php echo $type?>);
    });
    <?php

    }


      ?>


        function getValue(obj) {
            var value = obj.value;
            $.ajax({
                type: "POST",
                url: 'edit.php',
                data: {
                    "val" : value
                },
                dataType: 'text',
                async: false,
                cache: false,
                success: function (result) {

                    //  alert(result);

                    $('#chapters').html(result);
                }
            });
        }
    </script>
</form>
</body>
</html>

我试图在document.ready事件中的脚本标记中调用该函数,但它不起作用。请帮忙,谢谢。

1 个答案:

答案 0 :(得分:0)

请检查此解决方案,它可以帮助您解决目的。 此代码不会在此处运行,因为这包含textLabel.text代码。请尝试在您的服务器上运行。

由于

&#13;
&#13;
php
&#13;
    jQuery(document).ready(function(){
        jQuery('#types').change(function(){
            var value = jQuery(this).val();
            getValue(value);
        });
        console.log(<?php echo $type; ?>);
       if(<?php echo !empty($type) ?>)
        {
            getValue('<?php echo $type?>');
            function getValue(obj){
                var value = obj.value;
                jQuery.ajax({
                    type: "POST",
                    url: 'edit.php',
                    data: {
                        "val" : value
                    },
                    dataType: 'text',
                    async: false,
                    cache: false,
                    success: function (result) {

                        //  alert(result);

                        jQuery('#chapters').html(result);
                    }
                });
            }
        }
    });
&#13;
&#13;
&#13;