• ベストアンサー

自動フォーム入力について

JavaScriptに関して質問させてください。 Webブラウザのフォーム関連です。 テキスト入力フォームに文字を入力すると、 別のテキスト入力フォームにも同じ文字が入るスクリプトを作ってます。 var autoin=document.setting.basename.value;  ↑まずbasenameと言うnameのvalue値をautoinに代入。 if (document.forms[0].gaitou){document.forms[0].id.value=autoin;}  ↑nameがgaitouに該当するフォームオブジェクトのvalueにautoinの値を入れる。 この時にnameがgaitou 尚かつ「inputtypeがhidden以外」である事を条件に入れたいのです。 言い換えるとhiddenの場合はnameが該当しても実行されないようにしたいと言う事です。 何か良い方法はないでしょうか。 複数の方法を教示頂けると嬉しいです。 どうか宜しくお願い致します。

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

・ フォームオブジェクトをfとすると、fが存在するかどうかは、     if(f)   で判断する。 ・ 「フォーム要素のタイプがのhidden以外」という判断はtypeプロパティによる。 でよいと思います。 これをどのように使おうとされているのか分かりませんが、例えば >>> if (document.forms[0].gaitou){document.forms[0].id.value=autoin;} >>>  ↑nameがgaitouに該当するフォームオブジェクトのvalueにautoinの値を入れる。 が、フォーム名がgaitouで、その要素idがhiddenでないときと解釈する場合、 if (document.forms['gaitou'] && document.forms['gaitou'].id && document.forms['gaitou'].id.type != 'hidden') {document.forms['gaitou'].id.value=autoin;} の様な形となります。

nerumako
質問者

お礼

typeプロパティと言う物があったのですね。勉強になりました。 いかんせんJavaScript初心者なもので、 非常に初歩的な質問にも関わらずお答え頂き誠にありがとうございました。 実に明解なご回答でした。

関連するQ&A