2012-02-09 14 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(Asynchronous JavaScript and XML)といいます。

言い換えれば、javascriptスクリプトは、サーバーに何らかのデータ(ブラウザのような通常のリクエスト)を要求し、その結果を処理し、ページの一部を更新することなく全体。

これは単純な作業ではありません。考慮すべきことがたくさんあります。あなたがそれを必要とし、将来この方法で作業すると思うなら、時間をかけてAJAXを学んでください。 jQueryは完璧なAjaxサポートを備えた素晴らしいjavascriptライブラリです。プレーンなJavascriptを学ぶよりも簡単にできるはずです。

ただ、ヒント、あなたがこのようなjQueryを使ってPOST(より安全な)要求することができます:それは通常のリクエストのためになるように、サーバー側については

$.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

関連する問題