我有以下javascript代码,它应该打开一个模态窗口,其中包含三个要修改的字段,然后将它们发送到存储在数据库中,事情是它不能正常工作,因为它是当我修改任何字段(例如区域或nivel)并点击“发送”按钮时它不会发送新数据但是前一个像数据在页面加载时得到修复而不是当我点击发送按钮时,这是代码:
function mostrar(enlace, id, nivel, area, trabajo) {
document.getElementById("btnEditar").onclick = function() {
var area = document.getElementById("area").value;
var nivel = document.getElementById("nivel").value;
var trabajo = document.getElementById("area_de_trab").value;
editarRegistro(id, area, nivel, trabajo);
}
}
我还必须说功能“mostrar”是一个onclick事件处理程序,有关如何解决此问题的任何建议?提前谢谢。
这是显示模态窗口的按钮,同时将事件处理程序附加到放置在模态窗口中的发送按钮:
while($row = mysql_fetch_array($resultado))
{
echo "<tr>";
echo "<th>".$row["idusuario"]."</th>";
echo "<th>".$row["nombre"]."</th>";
echo "<th>".$row["username"]."</th>";
echo "<th>".$row["area"]."</th>";
echo "<th>".$row["area_de_trab"]."</th>";
echo "<th>".$row["nivel"]."</th>";
echo "<th><a type='submit' value='Eliminar' name='id' onclick='eliminar($row[idusuario])' class='btn btn-success'><span class='glyphicon glyphicon-trash'></span></a>
<a type='submit' href = '#miventana' value='editar' onclick='mostrar(this,$row[idusuario],\"".$row['nivel']."\",\"".$row['area']."\",\"".$row['area_de_trab']."\")' data-toggle='modal' class='btn btn-success'><span class='glyphicon glyphicon-pencil'>
</span></a></th>";
echo "</tr>";
}
和发送数据的按钮:
<button type="submit" class="btn btn-primary" name="editar" value="editar" id="btnEditar">guardar</button>
答案 0 :(得分:0)
您需要将命名函数与onclick处理程序分开:
document.getElementById("btnEditar").onclick = mostrar;
function mostrar()
{var area = document.getElementById("area").value;...
然后因为您在该函数中获取值,您不需要在函数调用中将它们作为参数传递。
答案 1 :(得分:0)
你只是传递了#id;&#39;点击功能
您可以像这样重写此代码
function mostrar(enlace, id, nivel, area, trabajo) {
document.getElementById("btnEditar").onclick = function(idt) {
var area = document.getElementById("area").value;
var nivel = document.getElementById("nivel").value;
var trabajo = document.getElementById("area_de_trab").value;
editarRegistro(idt, area, nivel, trabajo);
}(id);
}