0

jQuery を使用して、ユーザーが必要とする数の入力テキスト ボックスを次のように作成しています。

<script type="text/javascript">
$(document).ready(function() {
$('#names').on({
    blur: function() {
        var name = $("<p><input class='input' type='text' /></p>")
        var nullFields = 0;
        $(this).closest('div#names').find('input.input').each(function(){
            if($(this).val() == ""){
                nullFields++;
            }
        });
        console.log(nullFields);
        if(nullFields <= 1){
         $('#names').append(name.fadeIn(500));
        }
    }
}, 'input');
 });
</script>

$_POST['blah']とを使用してデータベースに静的テキスト ボックスを挿入することは問題ではありませんmysql_query("INSERT INTO ...")が、動的に作成されたテキスト ボックスの値を挿入するにはどうすればよいでしょうか。テキストボックスを作成するときに、テキストボックスに別の名前を付ける必要があることはわかっています。また、MySQL クエリはある種のループを経由するものと推測します。

編集

問題の Web サイトはこちら、具体的には手順 4 にあります。前述のように、手順 3 は非常に簡単です。

4

2 に答える 2

1

これは開始するための例であり、完全なソリューションではありません。名前の配列を作成し、php に各配列項目を挿入させます。

var currentArrayNum = 1;    
$('#someClickable').click(function(){

        $('#td').append('<input name="arrayName['+currentArrayNum+']" value="" />');
        currentArrayNum += 1;
    });

php:

foreach ($_POST as $key){
        if (is_array($key)){
                foreach ($key as $key2 => $value){
                //$key2 will equal arrayName[currentArrayNum]
               //$value will equal the user input for the text field
do some stuff
}
于 2012-06-12T20:29:36.573 に答える
0

名前から配列を作成することができます、単にこれを試してください:

<input type="text" name="post_input[input_1]" value="">
<input type="text" name="post_input[input_2]" value="">

送信後、キーinput_1とinput_2、およびそれらに割り当てられた値を使用して、$ _POST["post_input"]から配列を取得します。次に、それらを通常の配列としてループします。たとえば、

$aTextFields = $_POST["post_input"];
foreach( $aTextFields as $sValue ) {
  ...
}
于 2012-06-12T20:38:37.910 に答える