AJAX提交表单并包含PHP文件

时间:2014-07-31 04:46:27

标签: javascript php jquery ajax forms

好的,所以我知道有很多关于使用AJAX提交表单/包含PHP文件的内容,但我是JavaScript的绝对新手(在合理范围内),所以我被迫发布了一个问题。

无论如何,我有一个带有下拉菜单的表单。提交表单时,它会创建一个GET变量,然后PHP会使用该变量来包含相对文件(它与白名单相对,因此不会伪造任何值)。

如何获取JavaScript以提交表单,然后在不需要刷新的情况下加载正确的PHP文件?

这是表格和代码:

表格:

                <div class="formC">
<form method="get" action="contents.php" id="myForm">
    <select name="TutorialBlock">
<option value="alltuts">Show All Tutorials</option>
<option value="tuts1">Block One - Starting</option>
<option value="tuts2">Block Two</option>
<option value="tuts3">Block Three</option>

</select>
    <input type="submit" value="Show Block" id="submitButtonId">
</form>
</div>

PHP:

 <?php
$whitelist = array(
'tuts1',
'tuts2',
'tuts3',
'alltuts'
);

if(isset($_GET['TutorialBlock']) && !empty($_GET['TutorialBlock'])) {
    // now make sure it's in the whitelist.
    if(!in_array($_GET['TutorialBlock'], $whitelist)) {
        die('<p class="info">The file does not exist, or isn not on the whitelist. Please choose from the dropdown menu</p>');
    } else {
        include 'includes/'.$_GET['TutorialBlock'].'.php';
    }
} else {
     echo '<p class="info">Choose your tutorial block using the drop down menu above</p>';
}
?>

1 个答案:

答案 0 :(得分:0)

我认为JQuery加载函数可以用更少的代码完成你的工作  enter code here     $(document).ready(function(){        $('#dropdown')。change(function(){

    $('#output').load('/contents.php',{dropdown: $(this).val()});

    });
});


<select id="dropdown" name="dropdown">
    <option value="QU">QU</option>
    <option value="QF">QF</option>
    <option value="QC">QC</option>
</select>