2

JavaScript を使用して変数をチェックし、「http://」が含まれているかどうかを確認し、含まれていない場合は http を追加しています。/?myURL=以下のコードを使用しますが、ブラウザのアドレスバーに追加されたページが更新されるだけです。パーツを削除するif(getUrl.indexOF("http://" == -1)と、コードは正しく機能しますが、含まれている機能が失われます。どこが間違っているのかわかりません。if else ステートメントにブレークまたはリターンがありませんか?

function placeUrl()
    {
    var str1 = "http://"
    var getUrl;
    var newUrl;

    getUrl = document.getElementById('usersUrl').value;

    if(getUrl != null)
        {
        if(getUrl.indexOf("http://" == -1)
            {
            newUrl = str1.concat(getUrl);
            }
        else
            {
            newUrl = getUrl;
            }

        document.getElementById('iframe1').src = newUrl;
        }

    return false;
    }

そして私のHTML:

<form onSubmit="return placeUrl()">
    <input id="usersUrl" type="text" name="myURL" value="Enter a URL..." onblur="if (this.value == '') {this.value = 'Enter a URL...';}" onfocus="if (this.value == 'Enter a URL...') {this.value = '';}">
    <input type="submit" value="Analyse">
</form>
4

1 に答える 1

5

あなたが抱えている問題は、ブレースが欠けていることだと思います。行を次のように変更します。

if(getUrl.indexOf("http://"/*HERE*/)/*HERE*/ == -1)

不足しているブラケットを示すコメントを追加しました。

于 2013-03-04T14:58:53.773 に答える