0

このコードを機能させるのに問題があります。フォームに入力された任意のテキストから URL を作成しようとしています。たとえば、テキスト フィールドに「Hello」を送信すると、「http://www.Hello.com 」になります。これが機能しない理由についての指標をいただければ幸いです。

コード

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head></head>
<body>

<form name="search" action="jsTest.html" onsubmit="return URL()" method="post">
Query: <input type="text" id="query" name="query"/><br>
Submit: <input type="submit" value="Submit"/>
</form>

<script type="text/javascript">
function URL()
{
var x = document.search.query.val();
document.write("http://www.");
document.write(x);
document.write(".com/");
return false;
}
</script>

</body>
</html>
4

4 に答える 4

1

変数を設定しましたxが、未定義のquery変数を参照しています。名前に一貫性を持たせてください。

于 2013-07-08T00:37:23.343 に答える
1

答え:

<form>
Query: <input type="text" id="query" name="query"/><br>
Submit: <input type="submit" value="Submit" onclick="getURL()"/>
</form>

<script type="text/javascript">
   function getURL()
    {
    var x = document.getElementById("query").value;
    alert(x); //Debug statement
    }
</script>

ライテオ。ここで何が起こっているのかわからないので、最初から書き直しました。これは機能します。少なくとも、alertボックスを使用するためにテストしました。

何が起こっている可能性があります:

JavaScript関数は小文字で始める必要があるかもしれないと思います.

w3schools より:

JavaScript では大文字と小文字が区別されます。function キーワードは小文字で記述する必要があり、関数は関数名で使用されているのと同じ大文字で呼び出す必要があります。

actionそのファイルを見つけて、そのファイル内の JavaScript コードをアクティブ化しようとしている可能性が最も高いため、フォームからを削除しました。postおそらくオフラインブラウザモードで実行されていたため(つまり、POSTが必要とするようなHTTPリクエストを実際には使用していないため)、コンピューターが台無しになっていたため、削除しました

onclickキャメルケースではなく、すべて小文字であるため、いくつかの問題も発生している可能性があります。通常、フォームはファイルにリンクする必要があるため、使用するのonclickではなく常に使用しますが、ボタンを使用すると柔軟性が向上します。form onsubmit.PHPonclick

于 2013-07-08T00:41:33.893 に答える
0

jQuery である.valuenotを使用します。val()

参照: http://jsfiddle.net/wCS9d/

于 2013-07-08T01:50:26.450 に答える
0

JavaScript を変更できます。jQueryを使用することをお勧めします。

function modify_url(){
        var q = $('input[name="query"]');

        q.val('http://www.' + q.val() + '.com');
        return true;
    }
于 2013-07-08T00:40:38.410 に答える