2017-12-26 11 views
-5

ユーザーがURLを入力できるように、入力フィールドを含むフォームを含む非常に(VERY)単純なHTMLページを作成したいと考えています。ユーザがこの入力フィールドにURLを入力すると、例えば、 https://google.comの場合、ブラウザはそのアドレスに移動する必要があります。HTML内のアドレスバー

とてもシンプルに聞こえますが、それを行う方法を見つけることができませんでした。

+0

あなたの質問に答えるには少し広すぎるが、これはあなたが正しい方向に行くかもしれません:https://で開発。 mozilla.org/en-US/docs/Web/API/Location/replace –

+5

なぜほとんどすべてのブラウザにそれが存在するのでしょうか? –

+0

私はアドレスバーがないMOTDの中に入れようとしています –

答えて

1

私は基本のいくつかを理解しようとしているのステップとして、あなたがこの中に興味を持っていると仮定するつもりです生産コードの形式ではありません。その静脈で、あなたはこれを試すことができます。

<form id="myform" action="#"> 
 
    URL:<br> 
 
    <input type="text" onChange="this.form.action=this.value" value=""><br> 
 
    <input type="submit" value="Go"> 
 
</form>

コードスニペットは、アイフレームで実行されるため、サンドボックスのルールが適用されることに注意してください。したがって、実際の例ではstackoverflow URLのみが動作します。

1

私はあなたのための例を作った - jQueryのを使用して:

// wait for DOM ready 
 
$(document).ready(function() { 
 
    // set listener for keypress on the input field with class "input-url" 
 
    $(".input-url").keypress(function (e) { 
 
     // on enter press 
 
     if (e.which == 13) { 
 
\t // get input value and set it as window.location 
 
     window.location.replace($(this).val()); 
 
     return false; 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="input-url" type="text">

0

URL検証付き。 (jQueryのなし)

HTML

<input type="url" id="url"> 

JS

// Take the input element 
const urlInput = document.querySelector('#url'); 

// Function to call on event listener 
let redirectToUrl = function (e) { 
    // If enter is pressed and If it is a proper URL 
    if (e.keyCode === 13 && isURL(urlInput.value)) { 
     window.location.replace(urlInput.value); 
    } 
} 

// Function to validate URL using Regex 
function isURL(url) { 
    const expression = /https?:\/\/(www\.)?[[email protected]:%._\+~#=]{2,256}\.[a-z]{2,6}\b([[email protected]:%_\+.~#?&//=]*)/gi; 
    const regex = new RegExp(expression); 
    if (url.match(regex)) { 
     return true; 
    } else { 
     return false; 
    } 
} 

// Add event listener to input field 
urlInput.addEventListener('keypress', redirectToUrl); 
関連する問題