【问题标题】:Populate HTML Form with Ajax, PHP, and MySQL使用 Ajax、PHP 和 MySQL 填充 HTML 表单
【发布时间】:2012-05-18 16:33:24
【问题描述】:

我正在创建某种形式,它应该在选择框被选中后使用 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 可能会提升可能会起作用。我需要你作为专家的建议。因为,我没有在网上找到任何其他选项。谢谢

【问题讨论】:

  • 真的,您在网上没有找到任何可以帮助您的东西吗?那么右侧的所有这些相关问题呢?
  • 因为他们中的大多数都有错误,除了他们的问题之外,他们没有提供太多细节
  • 我不是要求为我做点什么。我正在展示我将实现我的目标的方式。我想知道我要做的方式是最好的方式还是其他方式
  • 我想从一些做过类似事情的人那里得到更好的建议
  • 还不错;但我不认为这就是 SO 的目的。阅读FAQ

标签: php jquery mysql ajax


【解决方案1】:

首先,我将使用 jQuery 或 MooTools 来执行 ajax 调用。他们为此提供了跨浏览器实现,您在发布的第一段脚本中大部分时间都在尝试做这种事情。

这些框架还使使用事件处理程序变得很容易,而我在您的选择框中缺少这些。

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

因此,如果您想改进,请获取 jQuery 或 MooTools(或其他 javascript 框架,但这是使用最广泛的两个),阅读这些内容,并阅读有关在 PHP 中处理 ajax 调用的内容。网络上确实有很多这样的东西。

【讨论】:

    猜你喜欢
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-12
    相关资源
    最近更新 更多