2012-01-26 3 views
1
<script language="JavaScript"> 

     function goThere() 
     { 
       var the_url = window.document.form.button.value; 
       var good_url = fixURL(the_url); 
       var new_window = window.open(good_url,"new_window","menubar,resizeable"); 
     } 

     function fixURL(the_url) 
     { 
       var the_first_seven = the_url.substring(0,7); 
       the_first_seven = the_first_seven.toLowerCase(); 
       if (the_first_seven != 'http://') 
       { 
         the_url = "http://" + the_url; 
       } 
       return the_url; 
     } 
     </script> 
    </head> 
    <body> 
    <form name="the_form" onclick="goThere()"; return false;"> 


    <input type="button" name="the_url" class="broadGroups" onClick="goThere()" value="http://en.wikipedia.org/wiki/Category:Sports"></input> 

    <input type="button" name="the_url" class="broadGroups" onclick="goThere()" value="http://en.wikipedia.org/wiki/Category:Film"></input> 

</form> 
</body> 
</html> 

このコードは完全に台無しになるかもしれませんが、ここで私がしようとしていることがあります。onclick()メソッドを使用して、クリックされたボタンから取得するウィンドウを開く関数をトリガーします。

タグ内には2つのボタンがあります。私はそれぞれのメソッドを使用して、関数goThere()をトリガーする必要があります。 the_urlがbuttonタグから引っ張る値に設定されるように、どうすれば設定できますか?また、非urlテキストをボタン自体に置いて、メソッド呼び出しonsubmitを使ってgoThere()を呼び出せるようにしたいと考えています。

最後に、URLを取得する必要があります。http://で始まることを確認してください(この場合は、ユーザーがURLを入力していないため問題はありませんが、後で他の目的)、メニューバーとサイズ変更可能なプロパティを持つ新しいウィンドウで開きます。

ごめんなさい。どんな助けでも大歓迎です。

答えて

1

goTherethisを渡してください。これにより、クリックされた要素がgoThere関数に反映されます。次に、クリックされたボタンの属性にアクセスします。好奇心のうち

http://jsfiddle.net/wJMgb/

onClick="goThere(this)" 

 

function goThere(elem) { 
    var the_url = elem.value; 
    var good_url = fixURL(the_url); 
    var new_window = window.open(good_url, "new_window", "menubar,resizeable"); 
} 

function fixURL(the_url) { 
    var the_first_seven = the_url.substring(0, 7); 
    the_first_seven = the_first_seven.toLowerCase(); 
    if (the_first_seven != 'http://') { 
     the_url = "http://" + the_url; 
    } 
    return the_url; 
} 
+0

...なぜURLは 'HTTPではないでしょう://'ので、修正する必要が? – mrtsherman

+0

ありがとうございます!それはうまくいった。あなたが気にしないなら、質問してください。まさにelemとは何ですか?なぜそれを議論に設定しましたか?それはどのように機能に役立ちますか? –

+0

この例では決してできません。ユーザーがURLを入力できるようにして、同じ関数を呼び出して、指定したURLを使用して新しいウィンドウを開く場合は、 –

関連する問題