2012-02-09 66 views
0

我有一些对象的表单。如果是下拉框,当用户点击旁边的按钮时,在前一个下方会出现一个新的下拉框。用户选择一个项目,如果他想要,再次点击按钮,出现一个新的下拉框,他选择一个项目,等等。 这是我的下拉框和按钮的代码。我不知道如何做出这样的事情。用php动态创建对象

<td> 
<?php 
echo "<select name=\"dropdown_docs_remove\" id=\"dropdown_docs_remove\">"; 
    for ($i=0; $i<count($regulationsarr); $i++){ 
    echo "<option value=\"$i+1\">$regulationsarr[$i]</option>\n"; 
    } 
echo "</select>"; 
?> 
<INPUT TYPE=BUTTON NAME=btn_removedoc VALUE="+" ONCLICK="add_newdoc_to_remove()"> 
</td> 

回答

1

此功能称为AJAX(异步JavaScript和XML)。

换句话说,它允许javascript ..脚本向服务器请求一些数据(只是像浏览器这样的普通请求),然后处理结果并更新页面的一部分而不刷新整个。

这不是那么简单的任务,有很多事情需要考虑。如果您认为将来需要它并使用此方法,请花点时间学习AJAX。 jQuery是一个非常棒的JavaScript库,支持完美的ajax,应该比学习纯Javascript更简单。

只是一个提示,你可以做一个POST(更安全)与jQuery的要求是这样的:

$.post('/url/to/your/script.php', {'key1': 'value1', 'key2': 'value2'}, function(result) { 
    // This function is called after the server responds, and result holds either RAW response (html or whatever), or you can parse it as JSON by supplying a fourth argument to $.post with value 'JSON'. Here is where you update your HTML page. 
}); 

至于服务器端,一切都是因为这将是一个正常的要求,除非你不不需要(也不应该)返回整个HTML页面,但只是一小部分 - 对于您的情况,需要插入下拉框HTML。

3

问题是你需要用JavaScript做这个客户端。

PHP在服务器上运行。在浏览器呈现页面之前,您的代码已不再运行。

我建议你学会使用jQuery。 http://docs.jquery.com/Tutorials