プロが教えるわが家の防犯対策術!

<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>

で、空白のテキストボックスの場合は、スペース(" ")なしで、
結合させたいんですが、どうしたら、良いのでしょうか?

A 回答 (4件)

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を使って結合するとできます。

この回答への補足

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

補足日時:2007/04/08 00:15
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/04/08 19:16

連続すみません。


HTMLフォームがt1、t2、t3、t4、t5となっているので、
エクセルではT1、T2、T3、T4、T5のセルを使った方がわかりやすいかも。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/04/08 19:18

> 残念ながら、理解できませんが「エクセルのマクロのループ関数みたいなものと推定」)したのですが、



エクセルで
A1、B1、C1、D1、E1
の各セルの内容を結合して
A2
に表示するマクロは作れますか?

それをJavaScriptに書き直せばすぐに作れると思います。
    • good
    • 0

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

この回答への補足

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

補足日時:2007/04/08 00:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!