Javascript 如何不获取inputbox的默认值

Javascript 如何不获取inputbox的默认值,javascript,jquery,inputbox,Javascript,Jquery,Inputbox,我抓取输入框的值并将其作为querystring传递到URL。我不想获取默认值“输入关键字(地址…)”,该值通过以下方式控制显示或隐藏: //**onClick and OnLostFocus (focus and blur) events on textareas and input textboxes** $('input[type="text"], textarea').focus(function () { defaultText = $(this).val

我抓取输入框的值并将其作为querystring传递到URL。我不想获取默认值“输入关键字(地址…)”,该值通过以下方式控制显示或隐藏:

    //**onClick and OnLostFocus (focus and blur) events on textareas and input textboxes**
   $('input[type="text"], textarea').focus(function () {
        defaultText = $(this).val();
        $(this).val('');
    });
    $('input[type="text"], textarea').blur(function () {
        if ($(this).val() == "") {
            $(this).val(defaultText);
        }
    }); 


<input name="KeywordBox" class="BasicSearchInputBox" type="text" size="300" value="Enter Keywords (address,city and state OR zipcode)"/> 
文本区域和输入文本框上的onClick和OnLostFocus(焦点和模糊)事件** $('input[type=“text”],textarea')。焦点(函数(){ defaultText=$(this.val(); $(this.val(“”); }); $('input[type=“text”],textarea').blur(函数(){ if($(this).val()==“”){ $(this.val)(默认文本); } });
如何在jquery中不抓取默认文本而只抓取用户输入?

我通常会在输入字段中添加一些默认类名,然后在用户键入时清除它。这样我就可以判断默认的“水印”是否存在有文本或用户数据。

正确的方法是使用
占位符,并对较旧的浏览器进行回退。
对于当前的问题,您可以在获取值时检查默认文本。比如:

$('form').submit(function(){
    if (~$('input').val().indexOf(defaultText)) {
        // Not found, do your ajax stuff
    }
});
function togglePrompt() {
  if (this.value == this.defaultValue) {
    this.value = '';
  } else if (this.value == '') {
    this.value = this.defaultValue;
  }
}

window.onload = function() {
  var el = document.getElementById('inp0');
  el.onfocus = togglePrompt;
  el.onblur = togglePrompt;
}


<input value="Enter text..." id="inp0">

您上面的代码实际上没有默认值(占位符)。如果有人首先在字段中键入'anything',然后清除字段中的值,则代码会将其重置为'anything',而不是'Enter Keywords…'

你需要一个像这样的插件


$(“[占位符]”).defaultValue();
如果你真的想自己写,最简单的步骤是

  • 在输入字段中添加占位符属性
  • onfocus:如果input.value等于input.placeholder,则清除input.value
  • onblur:如果input.value为空,则将input.value设置为input.placeholder

您可以通过以下方式完成:

$('form').submit(function(){
    if (~$('input').val().indexOf(defaultText)) {
        // Not found, do your ajax stuff
    }
});
function togglePrompt() {
  if (this.value == this.defaultValue) {
    this.value = '';
  } else if (this.value == '') {
    this.value = this.defaultValue;
  }
}

window.onload = function() {
  var el = document.getElementById('inp0');
  el.onfocus = togglePrompt;
  el.onblur = togglePrompt;
}


<input value="Enter text..." id="inp0">
函数togglePrompt(){
if(this.value==this.defaultValue){
这个值=“”;
}else if(this.value==''){
this.value=this.defaultValue;
}
}
window.onload=函数(){
var el=document.getElementById('inp0');
el.onfocus=togglePrompt;
el.onblur=切换提示;
}

改用onchange事件,并检查输入的文本是否不是默认文本。