• ベストアンサー

textbox間の結合時、空白の時は、スペースを省きたい

<script type="text/javascript"> <!-- function ketugou(){     document.f.q.value=document.f.t1.value+" "+document.f.t2.value+" "+document.f.t3.value+" "+document.f.t4.value+" "+document.f.t5.value; } //--> </script> <form name="f"> キーワードを入力:<br> <input type="text" size="55" name="t1"><br> <input type="text" size="55" name="t2"><br> <input type="text" size="55" name="t3"><br> <input type="text" size="55" name="t4"><br> <input type="text" size="55" name="t5"><br> <input type="button" name="connect" value="結合" onClick="ketugou()"><br> 結合時の内容を表示:<br> <input type="txt" name="q" size="55" maxlength="255" ><br> </form> で、空白のテキストボックスの場合は、スペース(" ")なしで、 結合させたいんですが、どうしたら、良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • js_player
  • ベストアンサー率83% (10/12)
回答No.2

JavaScriptで、 <script type="text/javascript"> <!-- function ketugou(){ var i = 1; var tempText = ''; var TargetElement; while (TargetElement = document.f['t' + i]){ if (TargetElement.value != '') tempText += TargetElement.value + ' '; i++; } document.f.q.value = tempText.substring(0, tempText.length - 1); } // --> </script> というように、whileを使って結合するとできます。

kapox
質問者

お礼

すいません、返答がないようなので、勝手に使わせてもらいます。

kapox
質問者

補足

加工方法がわからないので、 scriptの部分をそっくり、そのまま、いただいて、 そのまま、自分のホームページに使用してもよろしいでしょうか?

その他の回答 (3)

回答No.4

連続すみません。 HTMLフォームがt1、t2、t3、t4、t5となっているので、 エクセルではT1、T2、T3、T4、T5のセルを使った方がわかりやすいかも。

kapox
質問者

お礼

Do Loopとか、エクセル、マクロの本を開きながらでないと、 できないので、とりあえず、同じようなものと考えて、 暇なときに、解読を試みようと思います。

回答No.3

> 残念ながら、理解できませんが「エクセルのマクロのループ関数みたいなものと推定」)したのですが、 エクセルで A1、B1、C1、D1、E1 の各セルの内容を結合して A2 に表示するマクロは作れますか? それをJavaScriptに書き直せばすぐに作れると思います。

  • VCAT
  • ベストアンサー率20% (16/79)
回答No.1

空白があったらketugou()が完了しないようにすればよいでしょう。

kapox
質問者

補足

ANo.2で、目的は、達成(どういうしくみかは、 残念ながら、理解できませんが「エクセルのマクロのループ関数みたいなものと推定」)したのですが、空白がない時に、ketugou()が完了しないというのは、具体的にどういう状態なのでしょうか?

関連するQ&A