0

我的目标是拥有动态文本框并将其中的值保存到我的数据库中。我这里有 JavaScript 允许我添加动态文本框

<SCRIPT type="text/javascript">

$(document).ready(function(){
    var increment=2;

    $("#addButton").click(function(){
        if(increment > 5)
        {
            alert('You can only add 5 Textboxes');
            return false;
        }
        // two methods
        // first memthod...we can write div element
        var maincontent="<label>Textbox #"+increment+" : </label><input type='textbox' name='textbox"+increment+"' id='textbox"+increment+"'/>";
        var fun="<div id='TextBoxDiv"+increment+"'>"+maincontent+"</div>";
        //$("#TextBoxesGroup").append(fun);

        //second method 
        // here jquery through create div element

        var newTextBoxDiv = $(document.createElement('div')).attr('id', 'TextBoxDiv' +increment);
        newTextBoxDiv.after('').html(maincontent);    
        $(newTextBoxDiv).appendTo("#TextBoxesGroup");

        increment++;
    });
    $("#removeButton").click(function () {
        if(increment==1){
            alert("No more textbox to remove");
            return false;
        }   
        increment--;

        $("#TextBoxDiv" + increment).remove();
    });

    $("#getButtonValue").click(function () {

        var msg = '';
        for(i=1; i<increment; i++){
            msg += "\n Textbox #" + i + " : " + $('#textbox' +    i).val();
        }
        alert(msg);
    });
});
</script>

这是我的表格

<div id='TextBoxesGroup'>
    <div id="TextBoxDiv1">
        <label>Textbox #1 : </label><input type='text' id='textbox1' name="txt[]">
    </div>
</div>

任何人都可以在 php 方面帮助我,如何将它们保存到数据库中?我是 php 新手。

我试着做这些

<?php
$txt = (array) $_POST['txt'];

if($_POST['submit'])
{
    $add = "INSERT INTO `names` (`first`) values ('$txt')";
    mysql_query($add) or die(mysql_error());

    echo "Added!";
?>

什么都没发生。它不添加任何内容。请帮助如果有人可以帮助我并带领我通过线,我将非常感激。谢谢你们!!!

4

1 回答 1

0

我认为,这行有问题

var maincontent="<label>Textbox #"+increment+" : </label><input type ='textbox' name='textbox"+increment+"' id='textbox"+increment+"'/>";

它应该是

var maincontent="<label>Textbox #"+increment+" : </label><input type ='textbox' name='txt[]' id='textbox"+increment+"'/>";

和服务器端你可以使用

<?php

if(!empty($_POST['txt']) && count($_POST['txt']>0))
{
    $txt = "('".implode("'),('", $_POST['txt'])."')";
    $add = "INSERT INTO `names` (`first`) values $txt";
    mysql_query($add) or die(mysql_error());

    echo "Added!";
}
?>

我希望这会奏效

谢谢

于 2013-06-27T08:28:16.960 回答