0

これらのデータを JSON 形式で取得しようとしています。それを生成するのを手伝ってくれませんか?jqueryやphpに詳しくないので教えてください。

htmlコードは次のようになります

<form>
    <table>
        <tr>
            <td>//some code for other table elements</td><tr>
        <tr>
            <td>Critical Times (Coverage): </td>
            <td rowspan="3" colspan="2">
                <div>
                    <table width="100%" bgcolor="white" border="0px" name="criticalTime" id="criticalTime">
                    </table>
                </div>
            </td>
            <td>
                <input type="button" id="timeAdd" value="+"/><br>
                <input type="button" id="timeRemove" value="-"/>
            </td>
        </tr>
        <tr>
            <td>//some code for other table elements</td>
        </tr>
    </table>
</form>

私の.jsファイルには、+ボタンをクリックしたときにテーブルへの行の追加を処理するための次のものがあります。

var rowCountr = 0;
var timeTable="<thead><tr bgcolor='E1ECFF'><th></th><th align='left'>Start Time</th><th align='left'>End Time</th></tr></thead>";
/* insert the html string*/
$("#criticalTime").html( timeTable );

/*Event for the +(Add) button in critical time table*/
var timeRwcntr=0;
timeRow="<tr><td><input type='checkbox' id='row'</td><td><input type='text' id='start' /></td><td><input type='text' id='end'/></td></tr>";       

$('#timeAdd').click(function(){
    $('#criticalTime').append(timeRow);
    rowCountr++;
    timeRwcntr++;
}); 
$('#timeRemove').click(function(){
    $('#criticalTime tr:last-child').remove();
});

メインフォームから送信ボタンをクリックすると、入力フィールドに入力された値を取得し、JSON 配列を生成してデータベースに保存する必要があります。助けてください。

4

1 に答える 1

0

この問題に関しては、JSON はやり過ぎかもしれないと思います。ポストバックでテーブルの入力フィールドをサーバーに送り返そうとしているだけですか? テーブル行を作成するとき、フォーム コントロールの「name」属性に一意の識別番号を追加します。<input name="'.$id.'_field" />たとえば、テーブルをサーバー側でレンダリングする場合です。コードは JavaScript の場合と同様です。次に、ポストバックするときに、カウントして各行をループし、名前を参照して返された POST 変数にアクセスできます。例:

for ($i = 0; $i < $rowcount; $i++) {
    $field_value = $_POST[$i.'_field'];
    ...
}

JSON はより複雑なデータ セットに最適ですが、あなたの場合は、2 次元の行と列を構造化したように聞こえます。

于 2012-10-02T19:35:25.367 に答える