簡體   English   中英

javascript更新功能不起作用

[英]javascript update function doesn't work

我有以下javascript代碼,應該打開一個帶有三個要修改字段的模態窗口,然后將它們發送過來存儲在數據庫中,但由於某種未知的原因,它無法正常工作對我來說,當我修改諸如area或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>

您需要將命名函數與onclick處理程序分開:

 document.getElementById("btnEditar").onclick = mostrar;


function mostrar()
 {var area = document.getElementById("area").value;...

然后,因為您正在該函數中獲取值,所以不需要在函數調用中將它們作為參數傳遞。

您只需將“ id”傳遞給onclick函數

您可以像這樣重寫此代碼

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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM