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 可能是矫枉过正。您只是想在回发时将表的输入字段发送回服务器,对吗?当您创建表格行时,请在表单控件的“名称”属性中添加一个唯一标识号,<input name="'.$id.'_field" />例如,如果您要在服务器端呈现表格;javascript 的代码将是相似的。然后,当您回发时,您可以通过计数循环遍历每一行,然后通过引用名称访问您返回的 POST 变量。例子:

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

JSON 非常适合更复杂的数据集,但在您的情况下,听起来您已经结构化了二维行和列。

于 2012-10-02T19:35:25.367 回答