2012-05-16 97 views
0

有什么方法可以将文本添加到输入字段?对输入字段添加文本

因此,可以说不是:

<input type="text" id="val" name="val" value="http://" style="width: 140px;" /> 

与“http://”已经写好,有一个“http://”自动添加,当有人类型的地址,如果有人类型完整的URL“http://www.****.com”的HTTP不应该被添加,所以它不会加倍。

任何人有任何想法?我无法使用PHP。

回答

0

为什么不只是添加http://如果它失踪?

var input = document.getElementById('val').value; 

if (input.search('http://') === -1) { 
    input = 'http://' + input; 
} 

编辑:如果你需要允许HTTPS也改变搜索到一个正则表达式:

if (input.search(/https?:\/\//) === -1) { 

http://jsfiddle.net/jbabey/Bt67X/

+0

伟大的东西,完全不需要什么我需要改变。非常感谢! – user1100099

+0

伟大的答案,因为这是我有第二虽然它。如果我想把https放在那里怎么办? – user1100099

+0

@ user1100099看我的编辑。 – jbabey

0

附加:

document.getElementById('val').value += "http://www.google.co.uk";

删除重复:`

document.getElementById('val').value.replace("http://http://","http://");

这样,如果他们做到了类型http://两次,它只是圣雷莫对了。

+0

您的'document.getElementById' ID字符串需要关闭引号。 –

+0

他意思是preappending。 – OptimusCrime

+0

固定 - 谢谢。 – vimist

0

我强烈建议使用脚本框架,例如jQuery(http://jquery.com)来访问输入字段。

在这里看到: http://jsfiddle.net/5BLrU/

下面是参考

$(function() { 
    $("#some-form").submit(function(){ 
     var $val = $("#val"); 
     var url = $val.val(); 
     if (!/^http:\/\/.+/.test(url)) { 
      $val.val("http://" + url); 
     } 
     // remove this to submit the form! 
     return false; 
    }); 
}); 
0

JS代码下面的示例假定目标元素的ID是VAL

// Store current element 
var elem = document.getElementById('val'), 
    // Store current value 
    currentValue = elem.value; 

// Prepend something if not present 
if (currentValue.match(/^http:\/\//) == false) { 
    currentValue = 'http://' + currentValue; 
} 

// Re-assign 
elem.value = currentValue;