2015-12-16 62 views
1

我已经禁用按钮点击的具体领域,如我使用jquery我可以取消这些禁用特定表单字段单击

各个领域已经两种形式在我的网页这样

< form method='post' action='' class='myform'> 
<input type='text' name='name_0'> 
<input type='email' name='email_0'> 
<input class='btn' type='submit'> 
</form> 

< form method='post' action='' class='myform'> 
<input type='text' name='name_1'> 
<input type='email' name='email_1'> 
<input class='btn' type='submit'> 
</form> 

$(document).ready(function(){        
    $('.btn').click(function(){ 
     $("input").prop('disabled', true); 
    }); 
}); 

但我不知道如何定位像NAME_0,EMAIL_0特定字段当我第一次提交按钮,请帮我这个

+0

您是否想要在单击按钮时禁用特定输入? – Kisaragi

+0

提交表单中的所有输入 – Sikander

+0

是否要获取特定字段或表单中的所有输入或具有特定数字的所有字段或特定类型的所有字段?讲清楚。 – Sheepy

回答

6

要禁用它们,你将使用属性选择:

$("input[name='name_0']").prop('disabled', true); 

jQuery Attribute Selectors

如果你有多个项目,你可以将它们组合起来:

$("input[name='name_0'],input[name='email_0']").prop('disabled', true); 

你更大的问题是,你想通过点击的东西用一个类来确定形式。为了缩小下来,你可以做一些DOM遍历:

$(document).on('click', '.btn', function(event) { 
    // which form? this one! 
    var currentForm = $(this).closest('form'); 
    // disable all inputs for this form 
    currentForm.find('input').prop('disabled', true); 
}); 

现在我不必知道它输入到禁止(如果我想禁用所有的)。我只需要在按钮的表单中找到输入。

+2

周杰伦你错过了一个'_' – cmorrissey

+0

好抓!谢谢@cmorrissey! –

+0

看起来不错,让我试试这个 – Sikander

3

你应该阅读有关selectors

$("input[name=name_0]").prop('disabled', true); 

或一个jQuery的解决方案可以通过使用.closest(目标吧).find()

$(document).ready(function(){        
    $('.btn').click(function(e){ 
     e.preventDefault(); 
     $(this).closest('form').find("input[type=text]").prop('disabled', true); 
     $(this).closest('form').find("input[type=email]").prop('disabled', true); 
    }); 
}); 

提交表单并禁用所有输入并专注于下一个表格上的第一个输入

$(document).ready(function(){        
    $('.myform').on('submit',function(e){ 
     e.preventDefault(); 
     $(this).closest('form').find("input").prop('disabled', true); 
     $(this).next('form').find('input:first').focus(); 
    }); 

}); 

Working Demo

+0

我可以通过多种vaues我的意思是类型如果我想diable按钮和电子邮件以及什么? – Sikander

+0

@Sikander你可以用这个$(this).closest('form')。find('input')。prop('disabled',true)来使用所有输入。 ..我刚刚与我的答案这样,因为你已经说过,按钮上点击禁用特定的表单字段 –

+1

非常感谢先生最后一件事我如何将焦点移动到下一个表单如果表单进入循环 – Sikander