2009-08-14 101 views
5

我不是一个网络程序员,但我创建了一个简单的Web应用程序,它具有一个表单,用户可以输入一系列点(x,y,z),但我不知道有多少用户将要进入。我不想猜测可能的最大值(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

它很好,谢谢。 – 2009-08-15 00:29:48

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

我想要这样做的动态方式。 – 2009-08-14 20:46:34

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> 
相关问题