2014-07-10 2 views
0

나는이 jQuery 폼 유효성 검사 스크립트를 함께 사용하면 도움이 될지 궁금합니다.폼 유효성 검사시 이벤트 변경

제출 버튼을 클릭하기 전에 특정 입력란이 채워 졌는지 확인하고 싶습니다. 나는

/* Validate File Size */ 
var validateFileInput = function() { 
    if ($('#fileField')[0].files.length > 0 || $('#defImage').val().length > 0) { 
    return true; 
    } 
}     

var validate = function(){ 
    if ($('#campaign_name').val().length > 0 && 
     $('#headline_area').val().length > 0 && 
     $('#description_area').val().length > 0 && 
     validateFileInput() ) { 
     $("input[type=submit]").prop("disabled", false); 
    } 
    else { 
    $("input[type=submit]").prop("disabled", true); 
    } 
} 

$(document).ready(function() { 
validate(); 
    $('#new_campaign').on('change', ':input', function (e){ 
    e.preventDefault(); 
    validate(); 
    console.log('I just validated'); 
}); 
}); 

는 그래서이 줄은 상태가 제출 '버튼을 만났을 때와 같은 문제가 계속 unclickable되는 것 같습니다 내 validateFileInput 함수 내 두 번째 조건에 문제가있을 것 같다

$('#defImage').val().length > 0 

파일을 추가 한 후 콘솔에서 실행하면 사실로 출력되므로이 기능이 작동하지 않는 이유는 확실하지 않습니다.

는 어떤 도움을

EDIT 내가 이미지를 얻기 위해 Ajax 요청을 사용하여 다음의 ID를 전달하고

<a data-remote="true" data-target=".our-images" data-toggle="modal" href="/default_images" id="image-default-button">Use one of ours</a> 
<input id="defImage" name="campaign[default_image_id]" type="hidden" /> 

과 같이 두 번째 파일 필드의 HTML 보이는

감사 숨겨진 필드에 이미지 #defImage 그러면 나에게 줄 것이다.

어쩌면 메신저 유효성 검사와 함께이 잘못 처리?

내가 작성한 jsfiddle 만 입력 유형이 파일에 설정이 모든 작품 ...

+0

당신이 ...의 – sarath

+0

가능한 중복 (HTTP [파일이 존재하는지 확인]하시기 바랍니다 코드를 바이올린 수 있습니다

시도는

var validateFileInput = function() { if ($('#fileField')[0].files.length > 0 || $('#defImage').val().length > 0) { return true; } } 

에 변경 될 수 있습니다. com/questions/24737098/validate-that-a-file-is-present) – Liam

답변

1

조건이 false 때이 파일하지만 undefined 경우 함수가 true를 반환, 그래서 실패합니다. // 유래 :

var validateFileInput = function() { 
    return ($('#fileField')[0].files.length > 0 || $('#defImage').val().length > 0); 
} 
+0

답장을 보내 주셔서 감사합니다. 귀하가 진술 한 내용으로 변경되었지만 여전히 동일한 문제가 발생합니다. – Richlewis

+0

질문에 HTML 양식을 추가 할 수 있습니까? 또는 @ sarath가 말했듯이, evrything을 피들에 넣어 라. –

+0

질문이 업데이트되어 정보가 좀 더 명확 해지기를 바랍니다. – Richlewis

관련 문제