<td contenteditable="true" id="cell_1_1"><input type="text" oninput="filterTable(1)" placeholder="aoiStep" id="input_1_1"></td> <td contenteditable="true" id="cell_1_2"><input type="text" oninput="filterTable(2)" placeholder="defectType" id="input_1_2"></td> <td contenteditable="true" id="cell_1_3"><input type="text" oninput="filterTable(3)" placeholder="layerCode" id="input_1_3"></td> <td contenteditable="true" id="cell_1_4"><input type="text" oninput="filterTable(4)" placeholder="type"id="input_1_4"></td> <td contenteditable="true" id="cell_1_5"><input type="text" oninput="filterTable(5)" placeholder="dpet" id="input_1_5"></td> <td contenteditable="true" id="cell_1_6"><input type="text" oninput="filterTable(6)" placeholder="subcode" id="input_1_6"></td> <td contenteditable="true" id="cell_1_7"><input type="text" placeholder="codeDescription" id="input_1_7"></td> <td contenteditable="true" id="cell_1_8">image1</td> <td contenteditable="true" id="cell_1_9">image2</td> <td contenteditable="true" id="cell_1_10">image3</td> <td contenteditable="true" id="cell_1_11">image4</td> <td contenteditable="true" id="cell_1_12">image5</td> <td contenteditable="true" id="cell_1_13"><input type="text" placeholder="determination_rule"id="input_1_8"></td> </tr>想在保留contenteditable="true"和oninput="filterTable(1)"属性的同时实现表单提交修改功能
时间: 2023-08-20 14:07:45 浏览: 163
当div设置contentEditable=true时,重置其内容后无法光标定位
5星 · 资源好评率100%
如果你想在保留`contenteditable="true"`和`oninput="filterTable(1)"`属性的同时实现表单提交和修改功能,你可以使用JavaScript来处理表单提交和修改。
首先,在`<form>`标签中添加一个`onsubmit`事件处理程序,用于在表单提交时执行自定义的JavaScript函数。例如:
```html
<form action="update.php" method="POST" onsubmit="submitForm(event)">
<table>
<tr>
<td contenteditable="true" id="cell_1_1"><input type="text" oninput="filterTable(1)" placeholder="aoiStep" id="input_1_1"></td>
<td contenteditable="true" id="cell_1_2"><input type="text" oninput="filterTable(2)" placeholder="defectType" id="input_1_2"></td>
<td contenteditable="true" id="cell_1_3"><input type="text" oninput="filterTable(3)" placeholder="layerCode" id="input_1_3"></td>
<td contenteditable="true" id="cell_1_4"><input type="text" oninput="filterTable(4)" placeholder="type" id="input_1_4"></td>
<td contenteditable="true" id="cell_1_5"><input type="text" oninput="filterTable(5)" placeholder="dpet" id="input_1_5"></td>
<td contenteditable="true" id="cell_1_6"><input type="text" oninput="filterTable(6)" placeholder="subcode" id="input_1_6"></td>
<td contenteditable="true" id="cell_1_7"><input type="text" placeholder="codeDescription" id="input_1_7"></td>
<td contenteditable="true" id="cell_1_8">image1</td>
<td contenteditable="true" id="cell_1_9">image2</td>
<td contenteditable="true" id="cell_1_10">image3</td>
<td contenteditable="true" id="cell_1_11">image4</td>
<td contenteditable="true" id="cell_1_12">image5</td>
<td contenteditable="true" id="cell_1_13"><input type="text" placeholder="determination_rule" id="input_1_8"></td>
</tr>
</table>
<input type="submit" value="Submit">
</form>
```
接下来,创建一个JavaScript函数`submitForm(event)`来处理表单的提交事件。在该函数中,你可以阻止表单的默认提交行为,并获取表单中的数据进行处理。例如:
```javascript
function submitForm(event) {
event.preventDefault(); // 阻止表单的默认提交行为
var form = event.target; // 获取表单元素
// 获取表单中的数据
var aoiStep = document.getElementById('input_1_1').value;
var defectType = document.getElementById('input_1_2').value;
var layerCode = document.getElementById('input_1_3').value;
var type = document.getElementById('input_1_4').value;
var dpet = document.getElementById('input_1_5').value;
var subcode = document.getElementById('input_1_6').value;
var codeDescription = document.getElementById('input_1_7').value;
var determinationRule = document.getElementById('input_1_8').value;
// 执行你想要的数据处理操作
// ...
// 提交表单
form.submit();
}
```
在上述代码中,我们首先使用`event.preventDefault()`来阻止表单的默认提交行为。然后,通过`event.target`获取到提交事件所在的表单元素。
接下来,我们使用`document.getElementById`方法获取每个输入字段的值,并将其存储在相应的变量中。
最后,你可以在`submitForm`函数中执行你想要的数据处理操作,例如验证、发送AJAX请求等。
最后,我们调用`form.submit()`方法来提交表单。
通过以上步骤,你可以在保留`contenteditable="true"`和`oninput="filterTable(1)"`属性的同时实现表单提交和修改功能。
希望这个解决方案对你有帮助。如有任何疑问,请随时提问。
阅读全文