2

我有一个 HTML 表单,其中包含一些静态字段和一些使用 javascript 动态添加的字段。它看起来有点像这样

<html>
<script type="text/javascript">

        window.onload = function()
        {
            var select = document.getElementById("select");
            var texts = document.getElementById("texts");
            select.onchange = function()
            {
                var val = select.options[select.selectedIndex].value;
                texts.innerHTML = "";
                for(i=0; i < val; i++)
                {
                    //texts.innerHTML += '<div><input type="text" name="t_' + i + '" value="select_' + i + '" /></div>';
                    texts.innerHTML += i + '<div><input type="text" name="t_' + i + '" /></div>';
                }
            }
        }

    </script>
<body>
    <form method="POST" action="connection.php">
Question:<br>
<textarea name="question" cols="35" rows="5"></textarea><br>
<select id="select" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<div id="texts"></div>
<input type="submit" name="Submit" value="Submit" >
</form>
</body>
</html> 

当用户单击它时,它会添加一个文本框字段。数据如何存储到数据库中。请建议我知道用于执行此操作的资源是什么。提前致谢

4

3 回答 3

2

好日子沙沙克

为了将表单的数据提交到数据库中,无论表单的 javascript 是什么,在您的情况下都应该使用 POST 方法将数据传递给脚本“connection.php”。

该脚本应包含一种连接到数据库的方法,然后是验证数据的逻辑,最后如果验证成功,则数据库查询会将数据插入到数据库中。


您对 PHP 或任何其他服务器端脚本语言和数据库的理解程度如何?- 如果我知道您所知道的,我将能够为您提供更多信息。

于 2013-06-07T05:04:28.127 回答
0

PHP

它将像这样发布数据:假设您选择选项 2。

$inputs = $_REQUEST['t']; // change the name like this name[]
$textarea = $_REQUEST['textarea'];
$selectbox = $_REQUEST['select']; // you should define the name of the select box as i used 'select'

插入mysql

$conn = mysql_connect('localhost', 'db user', 'db password');
mysql_select_db('database name');

for($i=0; i<count($inputs); $i++) {
    $sql = "insert into <table name> (textarea, inputs) values ($inputs[$i], $textarea)";
    mysql_query($sql);
}

它将根据您选择的输入文本框存储每一行​​。

注意:根据您的要求修改查询。

于 2013-06-07T05:09:36.543 回答
0

我认为不是给文本框命名格式 t_1 , t_2 你可以给它作为一个数组,如下所示

    <html>
   <script type="text/javascript">

    window.onload = function()
    {
        var select = document.getElementById("select");
        var texts = document.getElementById("texts");
        select.onchange = function()
        {
            var val = select.options[select.selectedIndex].value;
            texts.innerHTML = "";
            for(i=0; i < val; i++)
            {
                //texts.innerHTML += '<div><input type="text" name="t_' + i + '" value="select_' + i + '" /></div>';
                texts.innerHTML += i + '<div><input type="text" name="txt_name[]" /></div>';
            }
        }
    }

</script>
 <body>
 <form method="POST" action="connection.php">
  Question:<br>
     <textarea name="question" cols="35" rows="5"></textarea><br>
    <select id="select" size="1">
 <option value="1">1</option>
 <option value="2">2</option>
 <option value="3">3</option>
 <option value="4">4</option>
 <option value="5">5</option>
 <option value="6">6</option>
 <option value="7">7</option>
 <option value="8">8</option>
 <option value="9">9</option>
 </select>
<div id="texts"></div>
<input type="submit" name="Submit" value="Submit" >
 </form>
 </body>
 </html> 
于 2013-06-07T05:13:38.527 回答