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 代码中看到,如果用户没有在输入字段中输入任何内容,我想显示错误消息。所以我不希望表单与输入字段中的默认文本一起提交......

有人可以帮我解决这个问题吗?

在此先感谢和问候...

4

2 回答 2

0

你可以简单地使用:

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

验证您的表单输入(这里,我使用我自己的函数validate_form(),您可以根据需要执行它以检查文本框的值),如果一切正常,则函数validate_form()返回 true,表单将提交;否则,from 将不会提交。

于 2012-04-15T22:42:46.730 回答
0

好的,我用另一个具有“在提交表单时清除预定义文本”功能的 jQuery 代码解决了我的问题......

这可能对其他一些用户也有用......所以这里是代码:

$(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 ...

于 2012-04-16T13:15:50.530 回答