inputImageObject.formEnctypeは、画像を使う送信ボタン(type属性がimageであるinput要素)のformEnctype属性の値を取得、もしくは、設定するプロパティ。
formEnctype属性には、送信データのエンコード方法を指定することができる。画像を使う送信ボタンのformEnctype属性を指定した場合、画像を使う送信ボタンが属するフォーム(form要素)のenctype属性よりも優先される。
構文
取得
var $formEnctype = $inputElementReference.formEnctype;
戻り値
画像を使う送信ボタン(type属性がimageであるinput要素)のformEnctype属性の値。
設定
$inputElementReference.formEnctype = "encodeType";
- encodeType
- 送信データのエンコード方法を指定する。
application/x-www-form-urlencoded
:全ての文字をURLエンコードする。multipart/form-data
:フォームにファイルを送信する機能がある場合に指定する。text/plain
:スペースだけ「+」記号に変換する。その他の特殊文字はエンコードしない。
サンプル
画像を使う送信ボタンのformEnctype属性の値:
サンプルの動作について
- 「application/x-www-form-urlencoded」ボタンをクリックすると、画像を使う送信ボタンのformEnctype属性値を「application/x-www-form-urlencoded」に設定する。「画像を使う送信ボタンのformEnctype属性の値:」の右横に「application/x-www-form-urlencoded」と表示する。
- 「multipart/form-data」ボタンをクリックすると、画像を使う送信ボタンのformEnctype属性値を「multipart/form-data」に設定する。「画像を使う送信ボタンのformEnctype属性の値:」の右横に「multipart/form-data」と表示する。
- 「text/plain」ボタンをクリックすると、画像を使う送信ボタンのformEnctype属性値を「text/plain」に設定する。「画像を使う送信ボタンのformEnctype属性の値:」の右横に「text/plain」と表示する。
- 「画像を使う送信ボタン」をクリックすると、画像内におけるクリックした位置の座標と、入力欄の入力内容を送信する。座標は、画像の左上端を原点とする。
サンプルのソースコード
JavaScript
<script type="text/javascript">
function setFormEnctype( $formEnctype ) {
var $elementReference = document.getElementById( "sample" );
$elementReference.formEnctype = $formEnctype;
var $formEnctype = $elementReference.formEnctype;
document.getElementById( "sampleOutputA" ).innerHTML = $formEnctype;
}
</script>
function setFormEnctype( $formEnctype ) {
var $elementReference = document.getElementById( "sample" );
$elementReference.formEnctype = $formEnctype;
var $formEnctype = $elementReference.formEnctype;
document.getElementById( "sampleOutputA" ).innerHTML = $formEnctype;
}
</script>
HTML
<p>
<button onclick="setFormEnctype('application/x-www-form-urlencoded');">application/x-www-form-urlencoded</button>
<button onclick="setFormEnctype('multipart/form-data');">multipart/form-data</button>
<button onclick="setFormEnctype('text/plain');">text/plain</button>
</p>
<p>画像を使う送信ボタンのformEnctype属性の値:<span id="sampleOutputA"></span></p>
<form id="sampleForm" method="get" enctype="text/plain" action="http://alphasis.info/2014/01/javascript-dom-input-image-formEncType/" target="_blank">
【サンプルフォーム】
<br />
入力欄:<input type="text" name="sampleName" value="sampleValue">
<br />
<input type="image" src="http://alphasis.info/wp-content/uploads/2013/12/sampleImageButton.png" alt="送信" id="sample" formEnctype="application/x-www-form-urlencoded">
</form>
<button onclick="setFormEnctype('application/x-www-form-urlencoded');">application/x-www-form-urlencoded</button>
<button onclick="setFormEnctype('multipart/form-data');">multipart/form-data</button>
<button onclick="setFormEnctype('text/plain');">text/plain</button>
</p>
<p>画像を使う送信ボタンのformEnctype属性の値:<span id="sampleOutputA"></span></p>
<form id="sampleForm" method="get" enctype="text/plain" action="http://alphasis.info/2014/01/javascript-dom-input-image-formEncType/" target="_blank">
【サンプルフォーム】
<br />
入力欄:<input type="text" name="sampleName" value="sampleValue">
<br />
<input type="image" src="http://alphasis.info/wp-content/uploads/2013/12/sampleImageButton.png" alt="送信" id="sample" formEnctype="application/x-www-form-urlencoded">
</form>