2010-11-30 3 views
0

私は自分のホームページに入力欄を持っています。私はユーザーが検索するために自分のドメインを入力してほしいです。 E.G.など投稿する前にjavascriptを使用してドメイン名を2つの変数に分割する方法はありますか?

test.com

または

test.gb.com

と私は最初件まですべてを抽出するために提出(ポスト)上にそれをしたいと思います ""変数$ domainと最初の "。" into $ ext

したがって、$ $ドメインには "test"が含まれ、$ extには ".gb.com"が含まれています。

可能ですか?

これまでの私のフォームのコードです。私が必要とするのは、最初に入力されたものすべてを持つことです "。

<form method="post" action="https://www.jms-networks.net/domainchecker.php"> 
<span class="text"><input value="{php} print $_POST['sld'] ? $_POST['sld'] : 'Search for your domain name'; {/php}" type="text" name="domain" class="searchbox" onfocus="if (this.value == this.defaultValue) this.value = '';" onblur="if (this.value == '') this.value = this.defaultValue;" /></span> 
<input type="hidden" name="direct" value="true" /> 
<!-- This one below should contain the $ext value everythign after including the first "." --> 
<input type="hidden" name="tlds[]" value="what goes here???" /> 
<input type="hidden" name="tlds[]" value=".me.uk" /> 
<input type="hidden" name="tlds[]" value=".org.uk" /> 
<input type="hidden" name="tlds[]" value=".com" /> 
<input type="hidden" name="tlds[]" value=".net" /> 
<input type="hidden" name="tlds[]" value=".org" /> 

<input type="submit" value="Go" class="product-headers" /> 
</form> 
+0

jQueryを使用できますか? – Adam

+0

jqueryを使用できますか?私はいくつかの助けが必要だと思います) –

+0

これはjavascriptで分割するのではなく、サーバーが2つの変数として受け取れるので、PHPコードで解析/分割しないでくださいサーバーがそれを受け取った後、その断片を2つのvarsに入れますか? –

答えて

1
var i = $thewhole.indexOf('.'); 
var $domain = $thewhole.substr(0, i); 
var $ext = $thewhole.substr(i); 

または正規表現

と:これまでのフォームの送信

コードのために保存されたの$ EXT変数からこのライン IEの名に保存されている=「ドメイン」フォーム変数とすべてのもの

var regexp = /([^.]+)(\..*)/; 
var match = regexp.exec($thewhole); 
var $domain = match[1]; 
var $ext = match[2]; 

編集:

<script type="text/javascript"> 

    function submithelper() { 

     // this is why we need the id="xxx" below. 
     var $domainInput = document.getElementById("domain"); 
     var $extInput = document.getElementById("ext"); 

     var $domain = $domainInput.value; 
     var $i = $domain.indexOf('.'); 
     var $host = $domain.substr(0, $i); // perhaps skip to do this if it isn't used? 
     var $ext = $domain.substr($i);   

     $extInput.value = $ext; 

     return true; // false to stop form from submitting. 
    } 

</script> 

<form onsubmit="return submithelper()" method="post" action="https://www.jms-networks.net/domainchecker.php"> 

    <!-- Two inputs has been given IDs so we can easily get them from javascript. --> 

    <span class="text"><input id="domain" value="{php} print $_POST['sld'] ? $_POST['sld'] : 'Search for your domain name'; {/php}" type="text" name="domain" class="searchbox" onfocus="if (this.value == this.defaultValue) this.value = '';" onblur="if (this.value == '') this.value = this.defaultValue;" /></span> 
    <input type="hidden" name="direct" value="true" /> 
    <input id="ext" type="hidden" name="tlds[]" value="" /> 
    ... 
+0

Ok thankyou ..投稿時に実行するには、これをフォームに追加するにはどうすればよいですか? –

+0

フォームにonsubmitイベントハンドラを追加できます。 HTMLで簡単にやっていますが、jQueryなどを使っても簡単に行うことができます。 http://www.htmlcodetutorial.com/forms/_FORM_onSubmit.html –

+0

こんにちはMartin上記のフォームに自分のコードを追加しました。あなたは助けてもらえますか? –

関連する問題