• ベストアンサー

入力フォームに半角スペース以降が表示されない

Perlでプログラムを組んでいます。 「山田 太郎」とデータを書き込みました。 それを$nameという変数に入れてPerlで出力し、 HTMLのフォームで表示しようとすると 「山田」までしか表示されません。 フォーム以外ではちゃんと「山田 太郎」と表示されます。 入力フォームはINPUTTYPE=text maxlength=20 です。 スクリプトは以下のような感じです。 HTML出力部分のみ。 # フォームからの情報を連想配列 %form に入れる &init_form($kanjicode) ・・・・ print <<"EOD"; Content-type: text/html <HTML> <HEAD> $contenttype <TITLE>$title</TITLE> </HEAD> <body> $tabletag <UL> <LI>$nameさんパスワードは大文字小文字の違いに注意してください。</LI> ↑「山田 太郎」とちゃんと表示される </UL> <FORM ACTION=$thisurl METHOD=$method> <TABLE> <TR> <TD>氏名</TD> ↓ここでは「山田」までしか表示されない <TD><INPUT type=text size=20 maxlength=20 name=$name value=$name></TD> </TR> <TR> <TD>パスワード</TD> <TD><INPUT type=password size=4 maxlength=4 name=pass value=$pass></TD> </TR> <TR> <TD COLSPAN=2> <INPUT type=hidden name=cmd value=new2> <INPUT type=submit value=登録する> </TD> </TR> </TABLE> </FORM> </BODY></HTML> EOD なにかヒントがありましたら教えてください。

noname#102630
noname#102630
  • Perl
  • 回答数2
  • ありがとう数6

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

  • ベストアンサー
  • okiyoshi
  • ベストアンサー率34% (11/32)
回答No.2

(snip) <TD>氏名</TD> ↓ここでは「山田」までしか表示されない <TD><INPUT type=text size=20 maxlength=20 name=$name value=$name></TD> (snip) ・・上記の name=$name はたぶん name=name では?・・間違いではないけど・・ 属性値に半角スペースが含まれるとそこで値の終了とみなされます。 タグの属性値はクオートで囲うのが基本です。 <TD><INPUT type="text" size="20" maxlength="20" name="$name" value="$name"></TD>

noname#102630
質問者

お礼

おっしゃる方法で問題解消できました

その他の回答 (1)

  • xcode_15
  • ベストアンサー率18% (19/102)
回答No.1

 参考になるか分りませんが、パッと見で一文字を、1バイトとしか認識してませんよね。  漢字コードなどは、2バイトで形成されてますから、フォントなどの指定が要るのではないでしょうか?

関連するQ&A

  • ラジオボタンでの表示の切替方法

    2つのラジオボタンの切替によって、表示の切替を行いたいです。 例えば、Aを選択すると(1)の入力フォームが表示され、Bを選択すると(2)が表示したいです。初期表示はAが選択された時と同じ内容となります。 <table align="center" border="0" cellpadding="0" cellspacing="0"> <tr><td><form name="Quick1"> <tr><td>選択</td> <td> <input type="radio" name="A" value="1" checked>A  <input type="radio" name="B" value="2">B  </td></tr> <tr> <td>(1)</td> <td> <input type="text" size="6" maxlength="5" name="text1" value="">- <input type="text" size="6" maxlength="5" name="text2" value="">- <input type="text" size="6" maxlength="5" name="text3" value=""> </td></tr> <tr> <td>(2)</td> <td> <input type="text" name="text7" size="43" value=""> </td></tr> </table></form></td></tr></table> すみませんが、よろしくお願い致します。

  • formのtextフィールドが認識されない

    下記のようなフォームに対し、JavaScriptで処理を行おうとしています。 <form name="dateForm" method="post" action=""> <table> <tr><td>0</td> <td><input type='text' name='date[]' maxlength='8' size=12 value='20111001'></td> <td><input type='text' name='date2[]' maxlength='8' size=12 value=''></td></tr> <tr><td>1</td> <td><input type='text' name='date[]' maxlength='8' size=12 value='20111002'></td> <td><input type='text' name='date2[]' maxlength='8' size=12 value=''></td></tr> <tr><td>2</td> <td><input type='text' name='date[]' maxlength='8' size=12 value='20111003'></td> <td><input type='text' name='date2[]' maxlength='8' size=12 value=''></td></tr> </table> <input type='text' name='date_0' maxlength='8' size=12 value='20111000'><br><br> <input type="submit" name="button" value="Check" onClick="send_self();"> <input type="submit" name="button" value="Enter" onClick="set_action();"> </form> Checkボタン押下で上記の関数を呼び出し、テキストフィールドdate[0]の値を表示すると、(1)では「20111001」と正しい値が表示されますが、(2)では下記のエラーが出てしまいます。 「プロパティ '0' の値を取得できません: オブジェクトは Null または未定義です。」 また、 alert(document.dateForm.elements[0]); // … (3) alert(document.dateForm.date); // … (4) とすると、(3)では[object]、(4)では[undefined]と表示されます。 alert(document.dateForm.date_0.value); はvalueも正しく表示されobjectとしても正しく認識されるので、配列へのアクセスに問題があるように思うのですが…。 問題点と解決法をご存知の方がいらっしゃいましたら、どうぞよろしくお願い致します。m(_ _;)m

  • フォームに入力したテキストを別フレームのフォームに反映させるには?

    上と下でフレーム分けしたページで、以下のような構成です。 上段フレームのフォームに入力した内容を、フォームの右側に設置した変更ボタンを押すことで、 下段フレームのプルダウンメニューとテキストフィールドに上記の構成のような感じで反映させたいのです。 社員番号の反映までのスクリプトを書いたところで、わからなくなってしまいました。 名前・部署・営業所・年齢も反映させるにはどうすればいいでしょうか? 画面イメージ----------------------------------------------------------- 社員番号 名前    部署  営業所 年齢 [I00001] [山田太郎] [営業] [東京] [25] 【変更ボタン】 [I00002] [鈴木次郎] [販売] [大阪] [30] 【変更ボタン】 =======================================================================  社員番号   名前      部署    営業所  年齢 《I00001▼》 《山田太郎▼》 《営業▼》 《東京▼》 [25] ------------------------------------------------------------------------ [XXXXX]がテキストフィールド、 《XXXXX▼》がselectのプルダウンメニューでいくつか選べるようになっています。 ★上段(ue_frame.html)★ <html> <head> <title>社員情報</title> <script language="JavaScript"><!-- function sendData(id) { syainbangou_label = id+"_syainbangou"; syainbangou_value = document.getElementsByTagName(syainbangou_label).value; //alert(parent.ue_frame.document.entry.syainbangou.options.length); for(count=0; count<parent.ue_frame.document.entry.syainbangou.options.length;count++){ if(id == parent.ue_frame.document.entry.syainbangou.options[count].value) { parent.ue_frame.document.entry.syainbangou.options[id].selected=true; } } } // --> </script> </head> <body> <form> <table> <tr> <td>社員番号</td><td>名前</td><td>部署</td><td>営業所</td><td>年齢</td><td></td><td></td><td></td> </tr> <tr> <td><input type="text" name="1_syainbangou" value="I00001"></td> <td><input type="text" name="1_syain_namae" value="山田太郎"></td> <td><input type="text" name="1_busyo" value="営業"></td> <td><input type="text" name="1_eigyousyo" value="東京"></td> <td><input type="text" name="1_age" value="25"></td> <td></td> <td><input type="button" value="変更" name="1_update" onClick="sendData(1)"></td> </tr> <tr> <td><input type="text" name="2_syainbangou" value="I00002"></td> <td><input type="text" name="2_syain_namae" value="鈴木次郎"></td> <td><input type="text" name="2_busyo" value="販売"></td> <td><input type="text" name="2_eigyousyo" value="大阪"></td> <td><input type="text" name="2_age" value="30"></td> <td></td> <td><input type="button" value="変更" name="2_update" onClick="sendData(2)"></td> </tr> </table> </body> </html> ★下段(sita_frame.html)★ <html> <head> <title>社員情報登録</title> <script language="JavaScript"><!-- // --></script> </head> <body> <form name="entry"> <table border="0"> <tr> <td>社員番号</td><td>名前</td><td>部署</td><td>営業所</td><td>年齢</td><td></td> </tr> <tr> <td> <select id="syainbangou"> <option>社員番号を選択 <option value=1>1.I00001 <option value=2>2.I00002 </select></td> <td> <select> <option>名前を選択 <option>1.山田太郎 <option>2.鈴木次郎 </select></td> <td> <select> <option>部署を選択 <option>1.営業 <option>2.販売 </select></td> <td><select> <option>営業所を選択 <option>1.東京 <option>2.大阪 </select></td> <td><input type="text" name="age" value="0"></td> </tr> <table> </form> </body> </html>

  • 2つのフォームに値を入れて計算

    2つのフォームを作り、その2つを計算したいのですがオブジェクトの指定の仕方がエラーが出てしまい(オブジェクトを指定してくださいと出ます)わかりません。 どうか教えてください。 ちなみにforなどは使わなくても大丈夫ですのでよろしくお願いします。 function kei() { var kei1 = 0; kei1=eval(document.A.a11.value) * eval(document.B.b21.value) ; document.C.c11.value = kei1; } <table border = 1> <form name="A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form name="B"> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> </tr> </form> </table> <table border = 1> <form name="C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> </tr> </form> </table>

  • selectでinputの表示を変えたい

    セレクトを選択した時に、inputの一部をdisabledにし、同時にinputの背景色を変更したいと思っています。 ----------------------------------------------------------------------- 現在はこんな感じです。 function menuLink(linkLoc) { if(linkLoc !="") { ifrm.location.href=linkLoc;} } --- セレクト1 <SELECT style="WIDTH: 130px" onchange="menuLink(this.options[this.selectedIndex].value)"> <OPTION value="11.html">1</OPTION> <OPTION value="22.html">2</OPTION> <OPTION value="33.html">3</OPTION> セレクト2 <SELECT style="WIDTH: 130px" onchange="menuLink(this.options[this.selectedIndex].value)"> <OPTION value="44.html">1</OPTION> <OPTION value="55.html">2</OPTION> <OPTION value="66.html">3</OPTION> セレクト3 <SELECT style="WIDTH: 130px" onchange="menuLink(this.options[this.selectedIndex].value)"> <OPTION value="77.html">1</OPTION> <OPTION value="88.html">2</OPTION> <OPTION value="99.html">3</OPTION> (実際にはもっと多くのセレクトがあります) <TR> <TD><INPUT type="text" name="aa" size="10" maxlength="2"></TD> <TD><INPUT type="text" name="ba" size="10" maxlength="2"></TD> <TD><INPUT type="text" name="ca" size="10" maxlength="2"></TD></TR> <TR> <TD><INPUT type="text" name="ab" size="10" maxlength="2"></TD> <TD><INPUT type="text" name="bb" size="10" maxlength="2"></TD> <TD><INPUT type="text" name="cb" size="10" maxlength="2"></TD></TR> <TR> <TD><INPUT type="text" name="ac" size="10" maxlength="2"></TD> <TD><INPUT type="text" name="bc" size="10" maxlength="2"></TD> <TD><INPUT type="text" name="cc" size="10" maxlength="2" /></TD></TR> <TR> <TD><INPUT type="text" name=da readOnly value=0 size=10></TD> <TD><INPUT type="text" name=ea readOnly value=0 size=10></TD> <TD><INPUT type="text" name=fa readOnly value=0 size=10></TD></TR> <TR> <TD><INPUT type="text" name=db readOnly value=0 size=10></TD> <TD><INPUT type="text" name=eb readOnly value=0 size=10></TD> <TD><INPUT type="text" name=fb readOnly value=0 size=10></TD></TR> <TR> <TD><INPUT type="text" name=dc readOnly value=0 size=10></TD> <TD><INPUT type="text" name=ec readOnly value=0 size=10></TD> <TD><INPUT type="text" name=fc readOnly value=0 size=10></TD></TR> ----------------------------------------------------------------------- セレクト1のどれかを選択した時に、インプットのaa,ba,da,eaをdisabledにし、同時にaa,ba,da,eaの背景色を変更 セレクト2のどれかを選択した時に、インプットのab,bb,db,ebをdisabledにし、同時にab,bb,db,ebの背景色を変更 という感じにしたいのですが、可能でしょうか? 可能であれば書き方を教えていただけると助かります。 よろしくおねがいします。

  • メールフォームについて

    この中にどのようなHTMLを書けば自分のPCにメールが届く ようになりますか?よろしくお願いします。 <h2>■MAIL FORM</h2> <div class="text"> <form><table><tr><td width="100" align=right> NAME</td><td align=right><input type="text" name="Name" size="34"></td></tr><tr><td width="100" align=right> MAIL</td><td align=right><input type="text" name="Mail" size="34"></td></tr></table> <TEXTAREA NAME="Comments" ROWS="8" COLS="39" value="comments"></TEXTAREA> <br> <table><tr><td width="100" align=right> </td> </tr><tr> <td width="100" align=right> URL</td><td><input type="text" name="URL" value="http://" size="34"></td></tr><tr><td></td><td align="right"> <INPUT TYPE="reset" VALUE=" Reset "> <INPUT TYPE="submit" VALUE=" Send "></FORM> </td></tr></table><br></div>

    • ベストアンサー
    • HTML
  • メールフォームを作成したのですがエラーと表示されてしまいます。どこがいけないのですか?

    お世話になります。当方初心者です。是非助けていただきたく思います。 いろんなサイトでよくあるようにメールフォームを作成してCGIプログラムでメールを送信できるようにしたいと思い、以下のようにhtmlを作成しました。CGIはAppsPageさんのサイトでお借りしてkisomail3rdというCGIを使いました。http://apps.cside.com/cgi/ レンタルしているサーバはロリポップです。http://www.lolipop.jp/?mode=manual&state=hp&state2=cgi CGIでロリポップが指定しているPERLパス・SENDMAILパスを変更してパーミッションも700に設定したのですが、何故かCGIエラーという表示が出て、うまく作動してくれません。初心者ゆえどこか基本的なことを見落としていると思います、どうか教えてください。 ■HTMLソースです。 <form action="kisomail2nd_1_05/kisomail2nd/sendmail.cgi" method="post" class="style1"> <table> <tr> <td>会社・店舗名</td> <td class="kakikomi"><input type="text"name="name"size="40"/></td> </tr> <tr> <td>お名前</td> <td class="kakikomi"><input type="text"name="name2"size="40"/></td> </tr> <tr> <td>郵便番号</td> <td class="kakikomi"> <input type="text"name="zip1"size="3"maxlength="3"/> - <input type="text"name="zip2"size="4"maxlength="4"/> </td> </tr> <tr> <td>都道府県</td> <td class="kakikomi"> <select name="prefecture"> <option value=""selected="selected">選択してください </option> <option value="日本国外" >日本国外</option> <option value="北海道" >北海道</option> <option value="青森県" >青森県</option> (以下略) </select> </td> </tr> <tr> <td>市町村・番地</td> <td class="kakikomi"><input type="text"name="add1"size="40"/></td> </tr> <tr> <td>E-Mail</td> <td class="kakikomi"><input type="text"name="mail"size="40"/></td> </tr> <tr> <td>電話番号</td> <td class="kakikomi"><input type="text"name="name2"size="40"/></td> </tr> <td>お問い合わせの種類</td> <td class="kakikomi"> <input name="category"type="radio"value="このサイトについてのお問い合わせ"/>お見積り<br/> <input name="category"type="radio"value="その他お問い合わせ"/> その他お問い合わせ</td> </tr> <tr> <td>お問い合わせ内容</td> <td class="kakikomi"><textarea name="contact" cols="40" rows="15"></textarea></td> </tr> </table> <div> <input type="submit" value=" メール送信 "> <input type="reset" value=" リセット "> </div> </form>

    • ベストアンサー
    • CGI
  • Servletへフォームから配列を送信できますか?

    PHPでは、下記のようにHTMLを記述することで、 フォーム内容を配列で送信及び取得できるのですが、 Servletで同じ事をするにはどうすれば良いでしょうか? <HTML><title>一括更新</title><BODY> <form action=./test.php method=post> <table> <tr><td> <input type=input name=a[0] value="1"> <input type=input name=b[0] value="2"> </td></tr> <tr><td> <input type=input name=a[1] value="1"> <input type=input name=b[1] value="2"> </td></tr> </table> <input type="submit" value="更新"> </form></BODY></HTML>

  • VBAでWebページに入力&ボタンクリック

    URLがhttp://xxx.com/のページで次のようなフォームのときExcelで自動入力クリックするマクロを作りたいです。 <input type="hidden" name="room" value="aaaaa"/> <a name="regist" id="regist">総登録数</a> <table width="402" border="1"> <tr> <th align="center" colspan="2"><div align="left"><big>登録ページ</big></div></th> </tr> <tr> <td colspan="2">&nbsp;&nbsp;&nbsp;name <input type="text" size="20" name="name" value="" maxlength="20"> &nbsp;&nbsp;&nbsp;Email <input type="text" size="20" name="email" value=""> &nbsp;&nbsp;</td> </tr> <tr> <td align="center">pass</td> <td><input type="text" size="20" name="pw" maxlength="12" value=""></td> </tr> <tr> <td align="center">category</td> <td><select size="1" name="junle"> <option value="pp" selected="selected">カテゴリ選択</option> <option value="0">その1</option> <option value="1">その2</option> </select></td> </tr> <tr> <td align="center">title</td> <td><input type="text" size="55" name="title" maxlength="25" value=""></td> </tr> <tr> <td align="center">URL</td> <td><input type="text" size="55" name="url"></td> </tr> <tr> <td align="center">intro</td> <td><input type="text" name="comment" size="55" maxlength="50" value=""></td> </tr> <tr align="center"> <td><br></td> <td><input type="submit" name="mode" value="登録"> <input type="reset" value="クリア"></td> </tr> </table> 入力する内容は1行目のA,B,C・・にname,email,pass・・・が順番にそれぞれ入っています。

  • フォーム htmlで項目をセット

    下記フォームのページがあります。 http://hogehoge.com/form.html <form action="#" method="post"> <table border="1"> <tr> <td>名前</td> <td><input type="text" name="name"></td> <td colspan="2" align="center"> <input type="submit" value="入力"> </td> </tr> </table> </form> </body> </html> このフォームに http://hogehoge.com/form.html?name=xxx でアクセスすると、 nameの項目に xxxが入力されて表示できるようにアクセスする事は可能なのでしょうか? 恐れ入りますが、ご教授お願い致します。

    • ベストアンサー
    • HTML

専門家に質問してみよう