0
var i = 0;
var a = 3;
function addNewAnswer(tableID) {

    var table = document.getElementById(tableID);
    if(i < 10)
    {   
        var rowCount = table.rows.length;
        var row = table.insertRow(rowCount);
        var cell1 = row.insertCell(0);
        cell1.innerHTML = '<font size="2" face="Courier New"><b>Enter Answer ' + String.fromCharCode(67+i) + ':</b></font>';

        var cell2 = row.insertCell(1);
        var element1 = document.createElement("input");
        element1.size = 40;
        element1.type = "text";
        element1.name = "answer"+a;
        cell2.appendChild(element1);

        var cell3 = row.insertCell(2);
        var element2 = document.createElement("input"); 

        element2.type = "radio";
        element2.name = "radios";
        element2.value = String.fromCharCode(67+i);
        cell3.appendChild(element2);
        i++;
        a++;
    }
}

我的 HTML 表单:

<table>                                 
<tr>
    <form method=post  name="submitform" action="verify-qedit.jsp">
        <td>
            <form method=post  name="submitform" action="verify-qedit.jsp">
                <table id="dataTable">                      
                    <tr>
                        <th colspan="3" align="left">Question</th>
                    </tr>
                </table>
            </form>     
        </td>
    </form> 
</tr>                       
</table>

当我提交表单时,我只能检索不是由上述 javascript 创建的参数。它仅适用于兼容模式 - IE 8 标准及以下。请帮忙,因为在发布这个问题之前我已经花了几天的时间试图找出答案。

4

2 回答 2

0

这适用于您所针对的所有浏览器吗?

http://jsfiddle.net/4nbB5/1

function addNewAnswer(tableID) {
    var rowCount, row, cell1, cell2, cell3, element1, element2, char;
    var i = 0;
    var table = document.getElementById(tableID);
    while (i < 10) {
        rowCount = table.rows.length;
        row = table.insertRow(rowCount);
        cell1 = row.insertCell(0);
        char = String.fromCharCode(65 + i);
        cell1.innerHTML = '<font size="2" face="Courier New"><b>Enter Answer ' + char + ':</b></font>';

        cell2 = row.insertCell(1);
        element1 = document.createElement("input");
        element1.size = 40;
        element1.type = "text";
        element1.name = "answer" + i;
        cell2.appendChild(element1);

        cell3 = row.insertCell(2);
        element2 = document.createElement("input");

        element2.type = "radio";
        element2.name = "radios";
        element2.value = char;
        cell3.appendChild(element2);
        i++;
    }
}
addNewAnswer('foo');

我所做的只是删除“a”,并声明“i”,将“if”更改为 while,将 fromCharCode 中的 67 更改为 65.. 看起来是您在某个时候可能想要的,所以我停止了。

于 2013-03-23T20:05:54.073 回答
0

该问题与javascript无关。这是因为我将表格标签放在 tr 标签之后而不是 td 标签之后的表格中的错误位置。

<table>                                 
<tr>
    <td>
        <form method=post  name="submitform" action="verify-qedit.jsp">
            <table id="dataTable">                      
                <tr>
                    <th colspan="3" align="left">Question</th>
                </tr>
            </table>
        </form>     
    </td>
</tr>                       
</table>
于 2014-05-21T12:13:27.560 回答