• ベストアンサー

fileUploadオブジェクトへの値の代入 (困っています。教えてください。m(__)m)

こんばんは。 fileUploadオブジェクトへの値の代入がどうにもこうにもできません。 いったいどうしたらいいのでしょうか?どうか助けてください。 よろしくお願いいたします。m(__)m -- <HTML><BODY> <FORM NAME="myFormF"> <INPUT TYPE="file" NAME="myFile"> <INPUT TYPE="button" value="set FILEFILE -> file" onClick="document.myFormF.myFile.value='FILEFILE'"> <INPUT TYPE="submit" onClick="alert(document.myFormF.myFile.value)"> </FORM> <FORM NAME="myFormT"> <INPUT TYPE="text" NAME="myText"> <INPUT TYPE="button" value="set TEXTTEXT -> text" onClick="document.myFormT.myText.value='TEXTTEXT'"> <INPUT TYPE="submit" onClick="alert(document.myFormT.myText.value)"> </FORM> </BODY></HTML> -- key: fileUpload object,ファイルアップロードオブジェクト,WSH,javascript

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

  • ベストアンサー
  • godakaz
  • ベストアンサー率72% (16/22)
回答No.1

値を代入できないのが仕様だからです。 もし、これが可能になってしまうと、非表示の入力フォームを利用して、PC内の情報を勝手にフォーム内に埋め込んだり、何かの送信時に一緒に持ち出すことも出来るようになってしまいます。 ですので、これは出来ないのです。

その他の回答 (1)

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.2

#1の方の仰るとおり、 セキュリティー向上のために出来ない仕組みになってます。 <input type=text>を使いましょう。 なぜ分からないけど今使っているIE6で出来てしまうんですがね。

noname#27709
質問者

お礼

まとめてお礼させていただきます。 おふたりともご回答ありがとうございます。 残念ながら、本来は外部サイトを扱いたいのでtype=textはできないのです。(;_; 試しに、 IE.Document.myFormF.myFile.type=text; とやってみましたが、さすがにできませんでした。(^^; ※ちなみに、できる方法とかあるのでしょうか? 一応、末尾のような関数を作って対応いたしました。無理やりsendkey()を使って対応いたしました。 ※ちなみに私もIE6ですが、なぜかできないんですね。パッチでも提供されていて、たまたま私が適用でもしたのでしょうかね?? どうもありがとうございました。 --------------------------------------------------------------- var WShell = WScript.CreateObject("WScript.Shell"); var IE = WScript.CreateObject("InternetExplorer.Application"); var URL = "file:///C:/test.htm"; IE.Visible = true; IE.Navigate(URL); while(IE.busy); while(IE.Document.readyState != "complete"); setElementValue(IE.Document.forms[0].myFile, "ABCDEF"); function setElementValue(element, value) { element.focus(); WShell.Sendkeys(value); }

関連するQ&A

専門家に質問してみよう