2011-05-24 9 views
2

私はかなりのテキストフィールドを持つフォームを持っています。値をテキストフィールドにリストする

私は、ユーザーが複数の値を1行に1つずつドロップできるテキストエリアを追加する機能を追加したいと思います。送信すると、それらの値がフォームのテキストフィールドに入力されます。

私はこのページでPHPとjQueryを使用しています。私はPHPを使って、 $ _POSTのループを行うべきだと私に伝えます。正しい軌道にいるのですか?私は、ページの読み込みに、とにかくループを介してテキストフィールドを構築:

for ($i = 1; $i <= 10; $i++) { 
    echo ' 
    <div> 
     <input type="text" maxlength="100" name="field[]"> 
    </div>'; 
} 

私はバルクsubmission-から値を分離する新しい機能と組み合わせるだろうか?

foreach ($_POST as $listValue) { 
    echo ' 
    <div> 
     <input type="text" maxlength="100" name="field[]" value='.$listValue.'"> 
    </div>'; 
} 
+0

これがどのように役立つかを理解するのは本当に苦労していますか?誰でも私を啓発することができますか? – martynthewolf

+1

複数のテキスト入力フィールドをタブで囲むのではなく、複数の行のデータを1つのテキストエリアに入力できるため、データ入力プロセスがより簡単になります。 –

答えて

2

このようにします。フォームで

PHPで
<textaera cols="20" rows="60" name="values"> 

$array_values = explode("\n", $_POST['values']); 

foreach ($array_values as $listValue) { 
echo ' 
    <div> 
     <input type="text" maxlength="100" name="field[]" value="'.htmlentities($listValue).'"> 
    </div>'; 
} 
+1

あなたは 'value ='の後に '' 'を忘れてしまったが、これは私がやる方法である。 –

+0

Oups、ありがとう、私はそれを加えた。 –

1

あなたのテキストエリアを作成します。

$text_area_content = $_POST['field']; 
$lines_array = explode("\n", $text_area_content); 
0123:

<textarea id="field" name="field"></textarea> 

は、次にPHPで結果を解析

$ lines_arrayには、テキストエリアの各行に要素が含まれるようになりました。

関連する問題