这里,我插入添加/编辑HTML和JavaScript代码/如图所示的代码片段删除/保存功能在各个表格。添加行和编辑功能不起作用
我遇到对的JavaScript代码的一些错误,当我倾向于移动工作台下面的Save
按钮。另外,我还在Save
和Edit
函数中插入了单选按钮。
我无法运行修改后的Save
和Edit
函数,我希望能够解决这个问题的指导。
function edit_row(no)
{
var editBtn = document.getElementById("edit_button" + no);
var saveBtn = document.getElementById("save_button" + no);
editBtn ? editBtn.style.display = "none" : '';
saveBtn ? saveBtn.style.display = "block" : '';
var name = document.getElementById("name_row" + no);
var value = document.getElementById("qty" + no);
var yes = document.getElementById("yes" + no);
var noEle = document.getElementById("no" + no);
var name_data = name && name.innerHTML;
var value_data = value && value.innerHTML;
var value_yes = yes && yes.innerHTML;
var value_no = noEle && noEle.innerHTML;
name.innerHTML = "<input type='text' id='name_text" + no + "' value='" + name_data + "'>";
value ? value.innerHTML = "<input type='text' id='value_text" + no + "' value='" + value_data + "'>" : '';
yes ? yes.innerHTML = "<input type='radio' id='yes_radio" + no + "' value='" + value_yes + "'>" : '';
noEle ? noEle.innerHTML = "<input type='radio' id='no_radio" + no + "' value='" + value_no + "'>" : '';
}
function save_row(no)
{
var nameEle = document.getElementById("name_text" + no);
var name_val = nameEle && nameEle.value;
var valueEle = document.getElementById("value_text" + no);
var value_val = valueEle && valueEle.value;
var yesEle = document.getElementById("yes_radio" + no);
var noEle = document.getElementById("no_radio" + no);
var qtyEle = document.getElementById("qty" + no);
var yes_val = yesEle && yesEle.value;
var no_val = noEle && noELe.value;
document.getElementById("name_row" + no).innerHTML = name_val;
qtyEle ? qtyEle.innerHTML = value_val : '';
yesEle ? yesEle.innerHTML = yes_val : '';
noEle ? noEle.innerHTML = no_val : '';
document.getElementById("edit_button" + no).style.display = "block";
document.getElementById("save_button" + no).style.display = "none";
}
function delete_row(no)
{
document.getElementById("row" + no + "").outerHTML = "";
}
function add_row() {
var new_name = document.getElementById("new_name").value;
var new_value = document.getElementById("new_value").value;
var new_yes = document.getElementById("new_yes").value;
var new_no = document.getElementById("new_no").value;
var table = document.getElementById("data_table");
var len = (table.rows.length) - 1;
var table_len = (document.querySelectorAll('.data_row').length) + 1;
var row = table.insertRow(len).outerHTML = "<tr class='data_row' id='row" + table_len + "'><td id='name_row" + table_len + "'>" + new_name + "</td><td id='qty" + table_len + "'>" + new_value + "</td><td><input type='radio' id='yes" + table_len + "'>" + new_yes + "</td><td><input type='radio' id='no" + table_len + "'>" + new_no + "</td><td><input type='button' id='edit_button" + table_len + "' value='Edit' class='edit' onclick='edit_row(" + table_len + ")'><input type='button' value='Delete' class='delete' onclick='delete_row(" + table_len + ")'></td></tr>";
document.getElementById("new_name").value = "";
document.getElementById("new_value").value = "";
document.getElementById("new_yes").value = "";
document.getElementById("new_no").value = "";
}
function add_row2()
{
var new_name=document.getElementById("new_name2").value;
var new_value=document.getElementById("new_value2").value;
\t
var table=document.getElementById("data_table2");
var table_len=(table.rows.length)-1;
var row = table.insertRow(table_len).outerHTML="<tr id='row"+table_len+"'><td id='name_row"+table_len+"'>"+new_name+"</td><td id='value_row"+table_len+"'>"+new_value+"</td><td><input type='button' id='edit_button"+table_len+"' value='Edit' class='edit' onclick='edit_row("+table_len+")'> <input type='button' id='save_button"+table_len+"' value='Save' class='save' onclick='save_row("+table_len+")'> <input type='button' value='Delete' class='delete' onclick='delete_row("+table_len+")'></td></tr>";
document.getElementById("new_name2").value="";
document.getElementById("new_value2").value="";
}
function add_row3()
{
var new_name=document.getElementById("new_name3").value;
var new_value=document.getElementById("new_value3").value;
\t
var table=document.getElementById("data_table3");
var table_len=(table.rows.length)-1;
var row = table.insertRow(table_len).outerHTML="<tr id='row"+table_len+"'><td id='name_row"+table_len+"'>"+new_name+"</td><td id='value_row"+table_len+"'>"+new_value+"</td><td><input type='button' id='edit_button"+table_len+"' value='Edit' class='edit' onclick='edit_row("+table_len+")'> <input type='button' id='save_button"+table_len+"' value='Save' class='save' onclick='save_row("+table_len+")'> <input type='button' value='Delete' class='delete' onclick='delete_row("+table_len+")'></td></tr>";
document.getElementById("new_name3").value="";
document.getElementById("new_value3").value="";
}
function add_row4()
{
var new_name=document.getElementById("new_name4").value;
var new_value=document.getElementById("new_value4").value;
\t
var table=document.getElementById("data_table4");
var table_len=(table.rows.length)-1;
var row = table.insertRow(table_len).outerHTML="<tr id='row"+table_len+"'><td id='name_row"+table_len+"'>"+new_name+"</td><td id='value_row"+table_len+"'>"+new_value+"</td><td><input type='button' id='edit_button"+table_len+"' value='Edit' class='edit' onclick='edit_row("+table_len+")'> <input type='button' id='save_button"+table_len+"' value='Save' class='save' onclick='save_row("+table_len+")'> <input type='button' value='Delete' class='delete' onclick='delete_row("+table_len+")'></td></tr>";
document.getElementById("new_name4").value="";
document.getElementById("new_value4").value="";
}
<div id="wrapper">
<form id="radioForm" method="get" align="center">
<table style="width:80% table-layout:fixed" align="center">
<!--Attributes of table. Colspan used to insert sub-title for the main title.-->
<h3 align="center">
<B>Initial (On Arrival)</B>
</h3>
<table class="table1" style="width:70%" align="center" id="data_table" cellspacing=2 cellspacing=5>
<tr>
<th>Test Points</th>
<th colspan="4">Cycle-Time</th>
</tr>
<tr>
<td></td>
<td class="cent"><b>Value</b></td>
<td class="cent"><b>Yes</b></td>
<td class="cent"><b>No</b></td>
<td></td>
</tr>
<tr class="data_row" id="row1">
<label id="group1"> <!--label is used to control the respective group of radio buttons-->
<td id="name_row1">Initial (On Arrival)</td>
\t <!--The input box in the 'Value' column is set as below-->
<td class="cent"><input type="number" value="20" align="center" name="qty" id="qty1" maxlength="4" size="4"/></td>
\t <!--The check boxes of 'Yes' and 'No' is created as below-->
<td class="cent"><input type="radio" name="group1" value="Yes" id="yes('1')"></td>
<td class="cent"><input type="radio" name="group1" value="No" id="no('1')"></td>
\t <td>
\t \t <input type="button" id="edit_button1" value="Edit" class="edit" onclick="edit_row('1')">
\t \t
\t \t <input type="button" value="Delete" class="delete" onclick="delete_row('1')">
\t </td>
</label>
</tr>
<tr class="data_row" id="row2">
<label id="group2">
<td id="name_row2">Drop Test (Portable Only)</td>
<td class="cent"><input type="number" value="60" align="center" name="qty" id="qty2" maxlength="4" size="4"/></td>
<td class="cent"><input type="radio" name="group2" value="Yes" id="yes('2')"></td>
<td class="cent"><input type="radio" name="group2" value="No" id="no('2')"></td>
\t <td>
\t \t <input type="button" id="edit_button2" value="Edit" class="edit" onclick="edit_row('2')">
\t \t
\t \t <input type="button" value="Delete" class="delete" onclick="delete_row('2')">
\t </td>
</label>
</tr>
<tr class="data_row" id="row3">
<label id="group3">
<td id="name_row3">Power Up Test (Mobile Only)</td>
<td class="cent"><input type="number" value="60" align="center" name="qty" id="qty3" maxlength="4" size="4"/></td>
<td class="cent"><input type="radio" name="group3" value="Yes" id="yes('3')"></td>
<td class="cent"><input type="radio" name="group3" value="No" id="no('3')"></td>
\t <td>
\t \t <input type="button" id="edit_button3" value="Edit" class="edit" onclick="edit_row('3')">
\t \t
\t \t <input type="button" value="Delete" class="delete" onclick="delete_row('3')">
\t </td>
</label>
</tr>
<tr class="data_row" id="row4">
<label id="group4">
<td id="name_row4">User Interface Room</td>
\t <td class="cent"><input type="number" value="60" align="center" name="qty" id="qty4" maxlength="4" size="4"/></td>
\t <td class="cent"><input type="radio" name="group4" value="Yes" id="yes('4')"></td>
<td class="cent"><input type="radio" name="group4" value="No" id="no('4')"></td>
\t <td>
\t \t <input type="button" id="edit_button4" value="Edit" class="edit" onclick="edit_row('4')">
\t \t
\t \t <input type="button" value="Delete" class="delete" onclick="delete_row('4')">
\t </td>
</label>
</tr>
<tr>
<td><input type="text" id="new_name"></td>
<td class="cent"><input type="text" id="new_value"></td>
<td class="cent"><input type="radio" id="new_yes"></td>
<td class="cent"><input type="radio" id="new_no"></td>
<td class="cent"><input type="button" class="add" onclick="add_row();" value="Add Row"></td>
</tr>
</table>
<br>
<input type="submit" id="savebtn1" value="Save">
<br><br>
什么错误?什么不行? – Rob
我看到的错误似乎足够清晰 - ''1'和'1'不一样,并且没有标识为'是'或'否'的项目。 –
@Rob感谢您的反馈。我已经更新了所述错误的问题。我无法运行保存和编辑功能。 – cerberus99