我想要更新表单,更确切地说,我希望显示额外的滚动菜单,具体取决于用户在第一个滚动菜单中的选择。使用JQuery刷新HTML表单(位于PHP页面上)
我有一个页面,mypage.php页面上有一个窗体。这里是:
<form method="post" action="wedontcare.php" enctype="multipart/form-data">
<label for="base">3 - Select a DB </label><br />
<?php
include 'functions.php';
offers_choice_DB();
if (isset($_POST['base_name_choice'])){
offers_choice_table($_POST['base_name_choice']);
}
我有一个分离的文件“functions.php”在哪里声明所有我在这里使用的函数。 offers_choice_DB()显示一个滚动菜单,我可以选择一个数据库(实际上,这个函数执行一个MySQL查询并在滚动菜单中回显结果)。如果用户选择一个数据库,则存在$ _POST ['base_name_choice']。它确实如此,因为当我只使用PHP/HTML时,一切都很好。
我的目的是让用户选择一个数据库,然后对于这个数据库,我想显示第二个滚动菜单,显示这个数据库中的一些表格。只有在设置了POST值后才会显示该滚动菜单。 offering_choice_table($ _ POST ['base_name_choice'])函数将此值作为参数,然后回显包含表格的滚动菜单的HTML。我们到了 !
呵呵,提交按钮在这里并不重要,因为我想在用户点击提交按钮之前显示我的第二个滚动菜单,所以我们只是忽略目标页面,好吗?
之前,一切正常:我使用测试,条件(isset ...),但它不是动态的,我不得不打电话给其他页面......等等。现在,我想,正如你所猜测的那样,只要用户选择一个数据库以便出现额外的菜单,就可以使用jQuery来刷新mypage.php。
我开始听我的滚动菜单中的变化,但我不知道该怎么做来刷新我的页面与POST参数包含选定的数据库。无论如何,这里是我的代码:
<script type="text/javascript">
$('#base_name_choice').change(function() {
var val = $(this).val(); //here I retrieve the DB name
alert(val); //I notify myself to check the value : it works
$.ajax({
type: 'POST', //I could have chosen $.post...
data: 'base_name_choice='+val, //I try to set the value properly
datatype: 'html', //we handle HTML, isn't it ?
success: function(){
alert("call ok"); //displays if the call is made
//and here...???? I don't know whatto do
}
})
});
</script>
这里是...任何帮助将不胜感激!谢谢:)
问候
如果您只是获取数据,则应该使用'GET'而不是'POST':http://stackoverflow.com/questions/1872965/get -vs-post-in-ajax – 2015-02-06 21:54:03
你可以追加数据,如$('element')。append('你想追加什么');'例如:'$('form')。append(data );' – 2015-02-06 23:34:17