2012-03-20 11 views
1

私は、学生の情報を挿入するページを作成したいので、私は2つのフィールドのフォームを使用します: - ファーストネーム - ラストネーム。 また、保存(学生情報をデータベースに保存)と追加(別のフォームを正確に同じように表示)の2つのボタンもあります。一つのideeaはjavascriptを使い、最初のものを除いてすべてのフォームを隠してからAddボタンを押して別のフォームを見せてもらったが、私は挿入したくない生徒をたくさん知っていたので、ページが読み込まれるときのすべてのフォーム。動的にフォームを作成し、フォームでリストに追加してページに追加する方法が必要です。 Saveボタンが押されると、フォームのリストを反復して、特定のフォームから情報を得ることができます。phpとhtmlのフォームの動的配列

誰かが私を助けてくれますか?

+2

実際に試してみる必要があるので、コードやコードの仕方を教えてくれるわけではありません。周りを見て、いくつかの基本的なアヤックスとPHPであなたはこの仕事をすることができます – Jonathan

+0

私は誰かが私にコードを教えるとは思わない。私はJavaやC++やC#でこの作業をする方法を知っていますが、ちょっとしたPHPしか分かりません.Java Listやそのようなものはありません。 – adriana

+0

PHPのリストは配列:http://php.net/arrayと呼ばれ、['Iterator's](http://php.net/iterator)もあります。 – hakre

答えて

0

あなたは、基本的なHTMLフォームを作成し、新しい学生のためのフォームからの要素のクローンを作成するには、ボタンを作成することができます。

<form id="form"> 
    <div id="master"> 
    <input name="name[]" /> 
    </div> 
</form> 

<a id="clone" href="#clone">new student</a> 

jQueryを使って、たとえば、それはHTML要素のクローンを作成し、に新しいものとして、それらを挿入するのは簡単ですサイト:

$('#clone').click(function(e) { 
    e.preventDefault(); 
    $('#master').clone().appendTo('#form'); 
}); 
+0

あなたの答えをありがとう。私はそれがブラウザから無効にすることができるので、javascriptを使いたくない。 – adriana

+0

プレーンHTMLとJavaScriptなしでこれを処理する方法はありません。 1つのフォーム要素に2つの送信ボタンを持つことはできません。あなたは、アクションを選択するためのラジオ/選択ボタンを作成することができます。これは確かに有効です。 PHPを使用すると、(送信されたコンテンツ+新しいフォームを保存または表示して)アクションを実行することができます。 – sbstjn

+0

Thanks semu。私はJavascriptを使用し、それが無効になっている場合、javascript shoulbを有効にすることを説明するメッセージを表示します。 – adriana

0

あなたは(jQueryのような)任意のライブラリを使用したくない場合は、各クリックに新しい入力を追加し、生のjavascriptでそれを行うことができます:

<script> 
function add() 
{ 
    document.getElementById("formzone").innerHTML = document.getElementById("formzone").innerHTML + "First name: <input type='text' name='firstname[]'>Last name: <input type='text' name='lastname[]'><br>"; 
} 
</script> 


<form method='POST'> 
<span id='formzone'> 
First name: <input type='text' name='firstname[]'>Last name: <input type='text' name='lastname[]'><br> 
</span> 
<input type='submit' value='Save'> 
<input type='button' value='Add' onclick='add()'> 
</form>