2009-08-14 24 views
5

私は多くのウェブプログラマーではありませんが、ユーザーが一連のポイント(x、y、z)を入力できる形式のシンプルなWebアプリケーションを作成していますが、ユーザーが入力しようとしています。私は可能性の高い最大値(100多分?)を推測し、それが醜いように見えるので、フォーム上に100フィールドを置くことは望まない。ユーザーがサーバーに連絡せずにデータを入力するときに、フィールドを追加する(またはフィールドを再表示する)のが一番簡単な方法は何ですか?入力フィールドをフォームに動的に追加するにはどうすればよいですか?

現在のところ、私はちょうどhtmlを使用しています& PHP、しかし私はこれを行うと仮定します私はJavaScriptを必要とするでしょうか?

現在、私のコードは、ユーザーがデータを入力すると、別の行が表示されます。

<form action="edit.php" method="post"> 
    <table border=1> 
    <tr> 
     <td> 
     <td>X 
     <td>Y 
     <td>Z 
    </tr> 
    <tr> 
     <td>1</td> 
     <td><input type=text name=x1 size=10 value="0.4318"></td> 
     <td><input type=text name=y1 size=10 value="0.0000"></td> 
     <td><input type=text name=z1 size=10 value="0.1842"></td> 
    </tr> 
    <tr> 
     <td>2</td> 
     <td><input type=text name=x2 size=10 value="0.4318"></td> 
     <td><input type=text name=y2 size=10 value="0.0000"></td> 
     <td><input type=text name=z2 size=10 value="-0.1842"></td> 
    </tr> 
    <tr> 
     <td>3</td> 
     <td><input type=text name=x3 size=10 value="-0.3556"></td> 
     <td><input type=text name=y3 size=10 value="0.0000"></td> 
     <td><input type=text name=z3 size=10 value="0.1636"></td> 
    </tr> 
    ... I want more to appear here... 
    </table> 
    <button name="submit" value="submit" type="submit">Save</button> 
</form> 

最も簡単な方法はありますか?ありがとう...

答えて

7

私はjQueryとappend新しい入力を使用します。

+0

大変感謝しています。 –

0

あなたが言っていることは、入力タグを手書きしているということです。または、ユーザーがボタンをクリックしてテーブル行を追加する動的なアクションが必要だと言っていますか?

いずれの場合でも、コードにはループが必要です。私は$データは、データベースか何かから、おそらくある配列に基づいて設定したいどんなデータであると仮定します。あなたがコピーすることはできません。もちろん、

<?php 
for($i=0, $iMaxSize=count($data); $i<$iMaxSize; $i++) 
{ 
?> 
<tr> 
    <td><?= $i+1 ?></td> 
    <td><input type=text name=x1 size=10 value="<?=$data[$i]['something']"></td> 
    <td><input type=text name=y1 size=10 value="<?=$data[$i]['somethingelse']"></td> 
    <td><input type=text name=z1 size=10 value="<?=$data[$i]['somethingelseagain']"></td> 
</tr> 
<?php 
} // end for 
?> 

以上過ぎて、それは良い出発点です。

動的に行うには、PHPを使用できません。あなたが使いたいと思うものは、javascript ajaxとphpの組み合わせです。

+0

私はそれを動的なやり方でしたいです。 –

1

私は同様のsoemthingを作成し、私はそれがあなたを助けると思う。 jQueryを使って入力フィールドを動的に作成しました。このリンクを確認してください:Dynamically add form fields

0

すべての段落にいくつかのHTMLを追加します。

<!DOCTYPE html> 
<html> 
<head> 
    <style> 
    p { background:yellow; } 
</style> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
    <p>I would like to say: </p> 
<script> 
    $("p").append("<strong>Hello</`enter code here`strong>"); 
</script> 

</body> 
</html> 
関連する問題