2012-04-15 52 views
0

我创建一个输入表单,我知道该怎么做的onfocus的onblur占位符的东西等等等等。值保持为用户类型

除了对我的输入字段上层叠一个div,这就是我想要做的..

当在输入字段用户点击(在这种情况下中键入网站地址)

我怎样才能让这个HTTP://出现在输入字段,并且当他们专注于该字段时,文本提示出现在http://

因此,他们所做的只是输入网站网址的其余部分。

例如: enter image description here

<fieldset> 
    <input type="text" class="requiredField" name="websitename" value="http://" onfocus="if(this.value=='http://')this.value='';" onblur= "if(this.value=='')this.value='http://';"/> 
    </fieldset> 

从上面的例子中,HTTP://出现在输入元件。但点击后,它就会消失。我想要做的是在http://之后出现提示符,以便您可以键入他们的网站地址。

也许jQuery可以解决这个问题,它很难知道在google上搜索什么来获得一些想法。

我确定我看到网站实现了这一点。我不只是要一个形象,因为上提交,我还是希望它解析完整的URL,而不仅仅是www.fsfsdfsfsd.com位,他们在实际键入。

干杯

回答

1

获得的价值,然后重新插入价值。

$('input[name="websitename"]').focus(function() { 
    var theVal = $(this).val(); 
    $(this).val(theVal); 
}); 

对不起,编辑。忘记了右括号。

编辑2:你可能会看到的问题的一部分是,你的onfocus和onblur在你的输入上,而onfocus正在清除现有的值。删除并尝试我的脚本。

+0

嗯..也许我没有解释,我想HTTP://要在输入单元当用户点击进去,文本提示出现在http://之后,这样他们只需键入www.whatever,我不知道你在说什么会做到这一点。无论如何感谢 – 422 2012-04-15 00:29:17

+1

我已经使用这种方法进行文本清理(删除不需要的字符),通常绑定到一个keyup。我实际上必须修改我自己的代码,以防止光标跳到最后,以便箭头键可以用于编辑目的。当你抓住这个值并重新插入它时,你将光标移动到最后。或者,您可以手动将值“http://”添加到输入字段中,使其不必在html中设置值。 – Lazerblade 2012-04-15 00:33:09

+0

添加了示例图像,这是你的脚本会做什么?如果我快速提琴,你是否乐意添加你的代码? – 422 2012-04-15 00:34:02

-2

如果我的理解正确,您只需删除onfocusonblur事件处理程序。在这种情况下,您不需要它们,因为您始终将input的值设置为http://。在同一时间使用占位符默认值没有意义。

BTW:一种更好的方式来做到占位符是使用placeholder属性:

<input type="url" name="website" placeholder="Your website"> 
+0

哈哈欢呼,为什么我会同时使用两个?无论如何感谢 – 422 2012-04-15 00:46:31

+0

谨慎解释downvotes?我误解了这个问题吗? – powerbuoy 2012-04-15 00:59:27

+0

重点,任何占位符文本被删除。 – 422 2012-04-15 01:36:52