2016-05-12 29 views
-1

我有一個按鈕,我希望它執行兩個不同的功能。第一次單擊時啓用文本框,其次單擊時必須保存數據並禁用所有文本框並將名稱更改爲原始文本框。如何使用一個按鈕來編輯和保存使用Javascript

按鈕名稱是更新和保存。

當您第一次運行應用程序時,文本框被禁用,並且按鈕名稱被稱爲「更新」,當我單擊它時啓用所有文本框並將其名稱更改爲保存。這工作到目前爲止。

問題是當我想禁用文本框,當我點擊「保存」它不禁用文本框。我想知道如果我將能夠使用這種方法保存數據的優點和缺點。如果你知道的話,你可以舉例說明我可以如何拯救。

代碼

<input type="button" class="btn btn-success btn-sm pull-left" value="Update" onclick="EventChanger(this)" id="btnUS" />  

<script type="text/javascript"> 
    var elem = document.getElementById("btnUS"); 

    if (elem.value == "Update") 
    { 
     elem.value = "Save"; 

     $('#txtContactName').removeAttr('disabled', true); 
     $('#txtIdentityNumber').removeAttr('disabled', true); 
     $('#txtSuburb').removeAttr('disabled', true); 
     $('#txtCellNumber').removeAttr('disabled', false); 

    } 
    else if(elem.value == "Save") 
    { 
     elem.value = "Update"; 

     $('#txtContactName').removeAttr('disabled', false); 
     $('#txtIdentityNumber').removeAttr('disabled', false); 
     $('#txtSuburb').removeAttr('disabled', false); 
     $('#txtCellNumber').removeAttr('disabled', false);   
    } 
</script> 

在先進的感謝

+0

什麼是你的jQuery版本? – Oli

+0

我正在使用Javascript,因爲您可以看到我正在調用按鈕 – Mpho

+0

$的功能,表示您使用jQuery不是純Javascript。 – Oli

回答

0

使用prop()代替removeAttr() jQuery的官方網站:

注意:刪除使用.removeAttr內聯onclick事件處理程序() 沒有按在Internet Explorer 6,7或8中無法達到預期效果。至 avoi d的潛在問題,使用.prop()代替:

<input type="button" class="btn btn-success btn-sm pull-left" value="Update" onclick="EventChanger(this)" id="btnUS" />  

<script type="text/javascript"> 
    var elem = $("#btnUS"); 
    if (elem.val() == "Update") 
    { 

     elem.val("Save"); 


     $('#txtContactName').prop('disabled', true); 
     $('#txtIdentityNumber').prop('disabled', true); 
     $('#txtSuburb').prop('disabled', true); 
     $('#txtCellNumber').prop('disabled', false); 

    } 
    else if(elem.val() == "Save") 
    { 
     elem.val("Update"); 

     $('#txtContactName').prop('disabled', false); 
     $('#txtIdentityNumber').prop('disabled', false); 
     $('#txtSuburb').prop('disabled', false); 
     $('#txtCellNumber').prop('disabled', false);   
    } 
</script> 
+0

神奇!它工作正常。我已經刪除.removeAttr()。如何在更新後實現保存功能?我不知道..still學習 – Mpho

+0

更新你應該瞭解Ajax這裏是你的鏈接[鏈接](http://api.jquery.com/jquery.ajax/)。如果我的回答有幫助,請不要忘記標記爲答案。謝謝。 – Oli

相關問題