2017-01-10 5 views
0

私のフォーラムのために、HTMLで簡単なフォームを作成する際に問題が発生しています。 私はテキストボックスとボタンを持っています。 テキストボックスにはニックネームが含まれています。 URLウェブサイト+ニックネーム(例:http://www.heythere/nick/textboxnickname)を含むウェブサイトにリダイレクトする必要があります。 問題は、私が書いたコードで、私のフォーラムは私のテキストボックスと私のボタンの名前をURLに追加することで、私にそれを再びリダイレクトするということです。テキストボックスからURLを作成するボタンが付いたフォーム

//Script 
<script type="text/javascript"> 
    function levaSpazi() 
    { 
    var i=0; 
    var gt = document.getElementById("gt"); 
    var strLength = gt.length; 

    for(i; i<strlength; i++){ 
    gt = gt.replace(" ","%20"); 
    } 

    var indirizzo="http://xboxdvr.com/gamer/" + gt; 
    window.location*.href=indirizzo; 

    return false; 
    } 
</script> 


//HTML 
<form name="Guarda" onSubmit="return levaSpazi();"> 
... 
<input type="text" maxlength="15" name="gt" id="gt"> 
<input type="submit" name="guarda" value="Guarda"> 
... 
</form> 

私はこのコードを保存すると、私は(forumfree.it)を使用していますプラットフォームは、と "window.location.hrefを" 修正

+3

あなたのコードがある場合は?あなたが試したことを教えてください。 – Ibu

+0

コードが更新されました(申し訳ありません、私はここで新しくなりました) –

答えて

2

コードスニペットを見ていいだろう。リダイレクトは間違って設定されている可能性があります。typetype="button"に設定する必要があります。

実際には、フォームは本当に必要ありません。

function openURL() 
{ 
    var name = document.getElementById('myName').value; 
    var url = 'http://www.heythere/nick/' + encodeURIComponent(name); 

    // In current window 
    window.location.href = url; 

    // In new window 
    window.open(url); 
} 

HTMLでは::ここでは一例であり、

<input type="button" onclick="openURL()" value="Go"/> 

しかし、多分私はあなたが間違っていました。あなたは、フォームのaction属性のURLを変更したい場合は、私は推測する(それはそれを送信する前に)これはうまくいくかもしれない:

HTML:

<form data-url="http://www.heythere/nick/" action="" onsubmit="changeForm(event, this)">...</form> 

JS:

function changeForm(e, formRef) 
{ 
    // Prevent browser sending the form self 
    e.preventDefault(); 

    var name = document.getElementById('myName').value; 
    formRef.action = formRef.getAttribute('data-url') + encodeURIComponent(name); 

    // Send 
    formRef.submit(); 
} 

I私の電話からこれを送って、それをテストできませんでした、申し訳ありません。しかし、それはそのように動作するはずです。

1

"window.locationの* .HREF" JavaScriptを使用者フォームを提出して、JS内でURLにニックネームを追加してリダイレクトします。

しかし、我々はあなたが使用しているものを知っているドント

jQueryを使って(簡単なHTMLやPHP、ASP.NETまたは任意のフレームワーク?):

$("your_form_selector").submit(function(){ 
    // var nickname = GetNickname 
    $(this).attr("action", "your_new_url/" + nickname); 
}); 
+0

jQueryを使用しないとどうしますか?フォームを送信するだけではライブラリをロードできません。 – Ibu

+0

Javasriptのみを使用する場合は、* StanE *コメントをご覧ください –

0

あなたがボタンにイベントリスナーをアタッチし、クリックイベントに、あなたのテキストボックスの値を使用してURLを連結し、コールバックを渡すことができます。

var nickname = document.getElementById("txt"); 
 
function redirect() { 
 
    window.location.href = "https://heythere.com/nick/" + nickname.value; 
 
}; 
 
document.getElementById("btn").addEventListener('click', redirect);
<input type="text" id="txt" /> 
 
<input type="button" id="btn" value="Submit" />

関連する問題