0

入力フィールドにテキストを追加する方法はありますか?

したがって、代わりに次のように言いましょう。

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

" http://" がすでに書かれている場合はhttp://、誰かがアドレスを入力したときに " " が自動的に追加されます。また、誰かが完全な URL を入力した場合、" http://www.****.com" 二重にならないように http を追加するべきではありません。

誰にもアイデアはありますか?phpが使えません。

4

4 に答える 4

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/

于 2012-05-16T13:08:23.860 に答える
0

追加:

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

重複を削除: `

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

このように、http://2回入力すると、削除されます。

于 2012-05-16T13:04:38.413 に答える
0

入力フィールドにアクセスするには、jQuery (http://jquery.com) などのスクリプト フレームワークを使用することを強くお勧めします。

ここを参照してください: http://jsfiddle.net/5BLrU/

参考までにJSコードはこちら

$(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;
    });
});
于 2012-05-16T13:09:06.283 に答える
0

次の例では、ターゲット要素の 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;
于 2012-05-16T13:10:38.880 に答える