2014-03-25 25 views
0

我有以下代碼:如何改變KEYUP變化的onchange

$(":input").bind("keyup change", function(e) { 
    var comboVal = $('.emailrequerido1').val()+$('.emailrequerido2').val()+$('.emailrequerido3').val()+$('.emailrequerido4').val()+$('.emailrequerido5').val(); 
     if(comboVal == 'nullnull' || comboVal == ""){ 
      $("#enviarForm").attr('disabled', true); 
     }else{ 
      $("#enviarForm").removeAttr('disabled'); 
     } 
}); 

我希望它的工作,只要他們在場上的變化按鈕應該使,而無需點擊開箱

如果該字段記住了一個值,並且您雙擊該字段並選擇該值,該按鈕將保持禁用狀態,直到您單擊該字段。

+0

內超時功能刪除更改事件,但你應該使用超時功能,delayes KeyUp事件。 (性能) –

+0

@ pc-shooter你可以把我的代碼的例子嗎? – PLATANIUM

+0

[如何在輸入字段中驗證記憶值]可能的重複(http://stackoverflow.com/questions/22636052/how-to-validate-a-memorized-value-in-an-input-field) – PLATANIUM

回答

0

你必須使用綁定事件函數

$(":input").on("keyup", function(e) { 
    setTimeout(function() { 

    // gets the text in the field after a specified time (100 milliseconds) 
    var comboVal = $('.emailrequerido1').val()+$('.emailrequerido2').val()+$('.emailrequerido3').val()+$('.emailrequerido4').val()+$('.emailrequerido5').val(); 
    if(comboVal == 'nullnull' || comboVal == ""){ 
     $("#enviarForm").attr('disabled', true); 
    }else{ 
     $("#enviarForm").removeAttr('disabled'); 
    } 

    }, 100); 
}); 
+0

當我雙擊該字段並點擊該字段中的記憶值時,這仍然無效。當我這樣做時,按鈕保持禁用狀態,這是我想要修復的。 – PLATANIUM

+0

嘗試修改後的功能 –

+0

仍然不能正常工作 – PLATANIUM