使用Ajax,PHP和MySQL填充HTML表单

时间:2012-05-10 06:02:31

标签: php jquery mysql ajax

我正在创建某种形式,应该在选择框之后使用ajax填充。我需要你更好的建议和建议;

这是我的剧本;

`[HTML] AND [AJAX]`

    <script type="text/javascript">
            function showReportWrite(str)
            {
            if (str.length==0)
            { 
            document.getElementById("txtHint").innerHTML="";
            return;
            }
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function()
            {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                document.getElementById("report_write").innerHTML=xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET","gethint.php?q="+str,true);
            xmlhttp.send();
            }
            </script>

<div id="report_write"></div>

[PHP]

if($form_name == 'form_report1'){
        //action
    }
    if($form_name == 'form_report2'){
        //action
    }
    if($form_name == 'form_report3'){
        //action
    }

    echo '<div id="accordion">';


    echo '<h3><a href="#">Users Details</a></h3>
                <div>
                    <form class="form" name="form_report1">
                        <fieldset>
                        <legend>Client Details:</legend>    
                            <table border="0" cellspacing="10">
                                <tr>
                                    <td><b>Client Name</b></td>
                                    <td><input type="text" name="name" id="name" /></td>
                                </tr>
                                <tr>
                                    <td><b>Date</b></td>
                                    <td><input type="text" name="email" id="email" /> </td>
                                    <td><input type="text" name="email" id="email" /> </td>
                                </tr>
                            </table>
                        </fieldset>    

                        <fieldset>
                        <legend>Candidate Details:</legend>    
                            <table border="0" cellspacing="10">
                                <tr>
                                    <td><b>Name</b></td>
                                    <td><input type="text" name="name" id="name" /></td>
                                </tr>
                                <tr>
                                    <td><b>Date of Birth</b></td>
                                    <td><input type="text" name="email" id="email" /> </td>
                                </tr>
                                <tr>
                                    <td><b>ID or Passport No.</b></td>
                                    <td><input type="text" name="name" id="name" />  </td>
                                </tr>
                                <tr>
                                    <td><b>Country</b></td>
                                    <td></td>
                                </tr>
                                <tr>
                                    <td><b>Address</b></td>
                                    <td><textarea name="text"></textarea></td>
                                </tr>
                                <tr>
                                    <td><b>Contact Details</b></td>
                                    <td><input type="text" name="name" id="name" />  </td>
                                </tr>
                            </table>
                        </fieldset>
                        <input type="submit" value="Update" id="sendbutton" name="sendbutton"/>
                    </form>
                </div>';

这个想法是这样的,一旦用户选择了选择框,ajax将请求php文件,其中基于条件form_report1将执行某些操作并回显html表单。

我想知道是否有其他一些方法可以做一些API可能会提升可能有效。我需要你的专家建议。因为,我在网上找不到任何其他选项。谢谢

1 个答案:

答案 0 :(得分:0)

首先,我将使用jQuery或MooTools来执行ajax调用。他们有这样的跨浏览器实现,你在你发布的第一个脚本中大部分都试图做的事情。

这些框架还可以轻松使用事件处理程序,我在选择框中缺少这些事件处理程序。

您的PHP似乎也不完整,$form_name变量显然无处不在。这决定了什么?您如何处理通过ajax调用发送的GET参数?此外,为什么不是POST - 你的表单,因为基本存在的表单要发布。

所以,如果你想改进,获取jQuery或MooTools(或其他javascript框架,但这是最广泛使用的两个),阅读这些,并阅读处理PHP中的ajax调用。网上确实存在很多的内容。