2017-10-18 13 views
1

ボタンのURIの値を変更してテキスト値を入力しようとしています。HTMLボタン - 動的にURLコンテンツを変更する方法

<div class="numcontainer"> 
    <input required="required" onchange="getNumber()" id="cnt" type="input" name="input" placeholder="ISD"> 
    <input required="required" onchange="getNumber()" id="wano" type="input" name="input" placeholder="Enter number"> 
</div> 
<button type="submit" name="gowa" id="btngo" onclick="location.href='myserver://send?phone=NumberPlaceHolder'">Go!</button> 

NumberPlaceHolder:期待どおりに動作しない

function getNumber() { 
    document.getElementById('btngo').href.replace("NumberPlaceHolder",document.getElementById('cnt').value+document.getElementById('wano').value); 
} 

:値を連結しようとすると、両方の入力に

JSを入力します。これをどうすれば解決できますか?

答えて

1

ただ、代替、それは

<div class="numcontainer"> 
    <input required id="cnt" type="text" placeholder="ISD"> 
    <input required id="wano" type="number" placeholder="Enter number"> 
</div> 
<input type="submit" name="gowa" id="btngo" onclick="getNumber()" value="Go!"> 

 

function getNumber() { 
    var val = (id) => { 
     return document.getElementById(id).value; 
    } 
    location.href ='myserver://send?phone='+val('cnt')+val('wano'); 
} 

onChangeはかなり不要であるクリーナーです。 fiddle

+0

ここで 'el'は何ですか? – rimboche

+0

要素のパラメータです。秒は「id」に編集します。 – Thielicious

+1

Perfect !!期待どおりに機能します! – rimboche

2

ボタンにhref属性を設定することはできません。あなたはここにonclick属性を変更する必要があります。

function getNumber(){ 
    document.getElementById('btngo').setAttribute("onclick", document.getElementById('btngo').getAttribute("onclick").replace("NumberPlaceHolder", document.getElementById('cnt').value+document.getElementById('wano').value)); 
} 

それはそれはこのように分割持つことは常に良いでしょう:

function getNumber(){ 
    curOnclick = document.getElementById('btngo').getAttribute("onclick"); 
    wanoValue = document.getElementById('cnt').value+document.getElementById('wano').value; 
    newOnclick = curOnclick.replace("NumberPlaceHolder", wanoValue); 
    document.getElementById('btngo').setAttribute("onclick", newOnclick); 
} 
+0

oops !!私は再び問題を抱えています。私はページをリフレッシュし、実際の入力番号の代わりにNumberPlaceholderを表示する別の番号を入れて初めて初めて動作します。 – rimboche

+0

@rimboche Awesome。私はそれをよく見ることができるように[mcve]を作れますか? – Soolie

+0

最初に数字を入れて、ボタンをクリックすると期待どおりに動作しますが、戻って別の数字をテキストフィールドに入力すると、与えられた数字を取らないメソッド – rimboche

0

あなたは、単純な

<a href="myserver://send?phone=NumberPlaceHolder"></a> 

代わりの

<button type="submit" name="gowa" id="btngo" onclick="location.href='myserver://send?phone=NumberPlaceHolder'">Go!</button> 
を使用する必要があります
document.querySelector('.start a').href = 'my-new-address' 
0
あなたはこのようなあなたのボタンにクリックイベントを追加することができる唯一の

<input required="required" onchange="getNumber()" id="cnt" type="nummber" placeholder="ISD"> 
<input required="required" onchange="getNumber()" id="wano" type="number" placeholder="Enter number"> 

番号やテキストを取得するため、このtype="nummber"またはtype="text"のようなあなたの入力タイプを変更し

:10は、リンクの使用これを変更するには。

function getNumber(){ 
    document.getElementById("btngo").onclick = function() { 
     var ll = "myserver://sendphone="+document.getElementById('cnt').value+document.getElementById('wano').value; 
     console.log(ll); // checking url in console. 
     location.href = ll; 
    }; 
} 
関連する問題