2014-04-24 2 views
1

두 개의 입력이 있는데 둘 다 데이터베이스의 동일한 필드를 사용합니다. 그들 사이의 차이는 간단합니다. 하나는 텍스트 입력이고, 다른 하나는 사용자가 드롭 다운 목록에서 무언가를 선택할 수 있습니다. 다음과 같이 보일 수 있습니다.입력이 매개 변수를 보내지 못하도록하는 방법

= f.input :age, :label => false, input_html: {class: "textfield"} 
= f.input :age, :label => false, input_html: {class: "dropdown"}, collection: [1,2,3] 

이 경우 두 번째 입력 만 정보를 보냅니다. 제 질문은 : 입력을 HTML에서 제거하지 않고 보낼 수 없도록하려면 어떻게해야합니까? (내 목적은 필드를 항상 사용자 정의 값으로 채울 수있는 "사용자 정의 연령"옵션을 사용 가능하게하는 것입니다.) 까다로운 부분은 항상 입력이어야합니다.

+0

다음 1 필드의 필요성은 무엇입니까? – Nithin

+0

사용자가 목록에서 옵션을 선택하지 않으려면 사용자 정의 값을 얻습니다. – Leo

+0

고정 값?. – Nithin

답변

2

입력을 사용 불가능으로 설정하면 양식을 제출할 때 그 값은 전송되지 않습니다. 따라서 폼에 onSubmit 이벤트를 사용하여 양식을 제출하기 전에 올바른 입력을 비활성화 할 수 있습니다. jQuery로

, 그 결과는 다음과 같습니다

$('form').on('submit', function() { 
    var textInput = ...; 
    var dropdownInput = ...; 
    if (textInput.val() == '') { 
     textInput.prop('disabled', true); 
    } else { 
     dropdownInput .prop('disabled', true); 
    } 
}); 
관련 문제