2012-04-15 3 views
0

jQuery를 코드 :입력란에 기본 텍스트가있는 양식을 제출하지 않으려면 어떻게합니까?

(function($){ 
$.fn.jgtextdefault = function(settings){ 
var jElements = this; 
var settings = $.extend({}, $.fn.jgtextdefault.defaults, settings); 
return jElements.each(function(){ 
if($(jElements).is("input")){ jgTextDefault($(jElements)); } 
}); 
function jgTextDefault(jInput){ 
if (jInput.val().length==0) jInput.val(settings.text); 
jInput.focus(function() { 
if (jInput.val()==settings.text) jInput.val(''); 
}); 
jInput.blur(function() { 
if (jInput.val().length==0) jInput.val(settings.text); 
});}}; 
$.fn.jgtextdefault.defaults = { 
text: 'Default' 
}; 
})(jQuery); 

의 PHP 코드 :

if (empty($releasedata['size'])) { 
       $errors[] = '<li>'.Enter the size in GB.'</li>'; 
      } 
if (empty($releasedata['releaseinfo'])) { 
       $errors[] = '<li>'.Give more information.'</li>'; 
      } 
     break; 

html로 코드 :

<script> 
    $(document).ready(function(){ 

     $('#defaultText-releasename').jgtextdefault({'text':'This is the default text for release name'}); 
     $('#defaultText-releasesize').jgtextdefault({'text':'This is the default text for release size'}); 

    }); 
    </script> 

html로 (입력 필드) :

<input id="defaultText-releasename" type="text" name="releasename" value="$releasedata[releasename]" /> 

내 문제 : 모든 입력 필드에 기본 텍스트를 표시하고 초점 숨기기로 괜찮습니다. 하지만 문제는 양식을 제출할 때 (사용자/입력란에 아무 것도 입력하지 않으면 입력 필드 값이 기본 텍스트로 사용됩니다.)

위의 PHP 코드에서 볼 수 있듯이 아무것도 사용자가 입력 필드에 입력하지 않는 경우 오류 메시지를 표시하고 싶다. 내가 양식 입력 필드의 기본 텍스트와 함께 제출하지 않으 그래서 ...

누군가가이 문제를 좀 도와 주시겠습니까?

미리 감사드립니다.

+0

입력이 비어 있으면 오류를 표시하는 데 PHP 또는 jquery를 사용 하시겠습니까? – mgraph

+0

글쎄 실제로는 현재 PHP가 이미 오류 메시지를 표시하고 있기 때문에 사실 jQuery가 기본 텍스트로 양식을 제출하지 않기를 원합니다. 내 말은, 입력 필드 (jQuery 없음)에서 ID를 취소하고 입력 한 텍스트가없는 양식을 제출하면 위의 PHP 코드와 같이 오류 코드가 나타납니다. 그래서 내가 필요합니다. 양식 제출시 입력란의 기본 텍스트를 사용 중지하는 항목 ... 입력란에 기본 텍스트가있는 양식을 제출하지 않습니다. – Seamus

답변

0

여기에 코드입니다 :

$(document).ready(function(){ 
    $('.default').each(function(){ 
    var defaultVal = $(this).attr('title'); 
    $(this).focus(function(){ 
     if ($(this).val() == defaultVal){ 
     $(this).removeClass('active').val(''); 
     } 
    }) 
    .blur(function(){ 
     if ($(this).val() == ''){ 
     $(this).addClass('active').val(defaultVal); 
     } 
    }) 
    .blur().addClass('active'); 
    }); 
    $('form').submit(function(){ 
    $('.default').each(function(){ 
     var defaultVal = $(this).attr('title'); 
     if ($(this).val() == defaultVal){ 
     $(this).val(''); 
     } 
    }); 
    }); 
}); 

그리고 HTML은 다음과 같습니다

<input type="text" name="text1" value="" class="default" title="Default Text 1" /> 

모든 크레딧은 간다 : DesignChemical. ..

0

$('#your_form_id').submit(function(){ 
    if(validate_form()){ 
     return true; 
    }else{ 
     return false; 
    } 
}); 

하는 양식 입력을 검증 그래서 사실 모든 확인 후 기능 validate_form() 돌아 가면 형태 것, (여기에, 나는 당신이 당신의 텍스트 상자의 값을 확인하기 위해 원하는대로 당신이 그것을 구현할 수있는, 내 자신의 기능 validate_form() 사용) 제출; 그렇지 않으면 출처가 제출되지 않습니다. 내가 "명확한 사전 정의 된 형태 제출 텍스트"기능을 ...

이 너무 다른 사용자에게 유용 할 수 있습니다 ... 그래서이 다른 jQuery 코드 내 문제를 해결 좋아

+0

고마워 Mohamed,하지만 필드를 비워두면 입력 필드 기본 텍스트 (워터 마크 텍스트)가있는 양식을 제출하는 중 .... – Seamus

+0

텍스트 필드가있는 경우 내용을 확인하기 위해'validate_form()'함수를 구현할 수 있습니다 기본값은 false를 반환합니다. –

+0

'validate_form() {var value = $ ('input [name = releasename']) .Val(); if (value == '기본 텍스트') {return false; } else {return true; }}' –

관련 문제