2015-05-20 45 views
1

我有幾個窗體在我的jsp與相同的用戶界面,但id是不同的。如何在不知道表單標識的情況下訪問表單元素?

我想編輯一個特定的表單並通過Jquery腳本提交這些表單元素。

我已經JS文件如下:

$("form").submit(function(event){ 
    var id= $(this).attr("id"); 

    var name="#"+id; 
    alert(name); 
    var dis = $(name).attr("disabled"); 

    if (dis==true){ 
     alert("disabled"); 
     event.preventView() 
    } else{ 
     alert("not disabled"); 
     //submit the form 
    } 

在這裏我得到DIS爲未定義。 所以我每次的條件都是錯誤的。 我的要求是

  • 如果所有輸入字段禁用狀態,那麼不提交表單

  • 如果所有輸入字段啓用狀態,則提交表單

我怎樣才能做到這一點。我錯在哪裏?

你可以請建議。

+0

什麼,如果一個輸入被啓用,不是所有 –

+0

@ArunPJohny我們將禁止ATTR中的所有輸入字段靜態頁面上。所以保證所有字段都處於禁用狀態。 –

回答

1

可以沿檢查:disabled選擇:not()

$("form").submit(function (event) { 
    if ($(this).find('input:not(:disabled)').length==0) { 
     event.preventDefault() 
    } 
}) 
+0

它工作。我已經夠了,但你做得很完美。謝啦。 –

1

你可以試試下面的功能與您的所有需求。

function chkvalidform(formID){ 
    var flag = ''; 
     formID = '#'+formID; 
     $(':input[required]:visible,select[required]:visible option[value]:selected', formID).each(function() { 
      if (this.value.trim() !== '') { 
       if($(formID+' '+'select[required].length > 0') && $(formID+' '+'select[required] option[value]:selected').val() == ''){ 
        flag = 'false'; 
       } 
       else { 
        flag = 'true'; 
       } 
      } 
      else { 
       flag = 'false'; 
      } 
     }); 
     if(flag == 'true'){ 
       if (!$(formID).valid()) { 
        $(formID+' '+'input[type="submit"]').attr('disabled',true); 
        $(formID+' '+'input[type="submit"]').addClass('greySubmit'); 
        $(formID+' '+'input[type="submit"]').removeClass('themeInBgColor'); 
       } else { 
        $(formID+' '+'input[type="submit"]').attr('disabled',false); 
        $(formID+' '+'input[type="submit"]').removeClass('greySubmit'); 
        $(formID+' '+'input[type="submit"]').addClass('themeInBgColor'); 
       } 
     } 
     else if(flag == 'false'){ 
       $(formID+' '+'input[type="submit"]').attr('disabled',true); 
       $(formID+' '+'input[type="submit"]').addClass('greySubmit'); 
       $(formID+' '+'input[type="submit"]').removeClass('themeInBgColor'); 
     } 
} 
+0

@ student-17最近我爲我的一個項目創建了這個函數,所以我和你分享了,如果你想'css' for上面的mentioed類,以便我也可以提供。 – Amit

+0

Thanks @Amit你提供了一些額外的信息。 –

相關問題