【javascript jQuery】eachでループして出力するとundefinedが出る

jQuery(javascript) で eachでループして出力すると undefined が出た。

//each で配列を展開
-------------------------
var my_value;
$.each(my_value, function(i, value) {
all_my_value += my_value;
});
-------------------------

上記の all_my_value は先頭に undefined という文字が入る。原因は var my_value; の部分で変数に何の値も代入していないこと。

undefined は 未定義値のこと。変数を宣言だけして何も代入していないと出る。

//これだと undefined の出る可能性がある
-------------------------
var 変数名
-------------------------

出したくなければ殻の値でも入れておく

//これだと undefined は出ない
-------------------------
var 変数名 = ""
-------------------------

参考ページ こちら

【HTML5 javascript】contenteditableの値をPOSTする

contenteditable で編集可能にした値はテキストエリアやテキストフィールドにあるわけではないので form タグで囲っただけでは POST できない。

POST は javascript を用いれば可能。

--------------------------------------------------
<input type="button" value="送信" onclick="document.form1.my_value.value = document.all.textarea1.innerText;document.form1.submit();">

<form method="post" name="form1" action="">

<div id="textarea1" contenteditable>この文字列を送信する</div>
<input type="hidden" name="my_value" value="">

</form>
--------------------------------------------------

contenteditable で編集可能な値を隠しフォーム(hidden)に入れて、それを javascript で送信する。

POST したい値が複数ある場合は、値を「;」で区切ればいい。

--------------------------------------------------
<input type="button" value="送信" onclick="document.form1.my_value1.value = document.all.textarea1.innerText;document.form1.my_value2.value = document.all.textarea1.innerText;document.form1.submit();">
--------------------------------------------------

【jQuery】JavaScriptで追加した要素にイベントを設定するonの使い方

JavaScript を使って後から追加した要素に対してイベントを設定する on の書式。よく忘れるのでメモ。

on の書式
------------------------------------
$(親セレクタ).on(イベント名, 子セレクタ, function(){
------------------------------------

on の使用例
------------------------------------
$(document).on('click', '.class_name', function(){
------------------------------------