![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
iosのアプリ開発をしています.
その際にhtml5を用いてUIを作成しているのですが,テキストボックスに入力された値を取得できません.
取得した値を遷移先に渡す予定です.
原因としてはa要素の中のonclickが実行されてないと考えています.
分かる方がいれば教えてください.
よろしくお願いします.
<script type="text/javascript">
$('<div class="list-group" > ').appendTo('body');
$('<form name="form1" id="id_form1" >').appendTo('body');
$('<input type="text" name="name_textBox1" id="id_textBox1" size="30" style="font-size:20pt;ime-mode:active;" maxlength="50" >').appendTo('body');
var str1;
$('<a class="list-group-item" href="javascript:void(0);" id="id_a" onclick="getValue();return false;" ><i class="fa fa-fw"></i>OK</a>').appendTo('body');
$('</form>').appendTo('body');
$('</div>').appendTo('body');
function getValue(){
str1 = document.forms.id_form1.id_textBox1.value;
var testTarget=document.getElementById('id_a');
testTarget.href="callNative://regRecipiName?' + str1 + '";
}
</script>
No.2ベストアンサー
- 回答日時:
原因1
$().appendTo() の使い方が変なので HTML 構造が崩れているので、
form#id_form1 の配下に input#id_textBox1 が無い。
よって document.forms.id_form1.id_textBox1 が存在しない。
修正案1)
ID のみで取得
var str1 = $('#id_textBox1').val();
修正案2)
ちゃんとした HTML 構造を生成する
var html = '<div> ...';
html += '<form> ... </form>';
html += '</div>';
$('body').append(html);
参考)
http://api.jquery.com/jQuery/#jQuery-html-ownerD …
When the parameter has a single tag (中略) jQuery creates the element using the native JavaScript .createElement() function.
--
原因2
onclick="getValue();return false;" しているので、click してもなにもおきない。
修正案1)
onclick から return false; を除外
修正案2)
testTarget.href ではなく location.href を更新
No.1
- 回答日時:
iosで動作するかどうかはともかく、決定的にまちがっているところがいくつかあります。
div、form、inputをbodyにappendしていますが、
divはbodyに、formはdivに、inputはformにappendするんじゃないでしょうか?
その上で
str1 = document.forms.id_form1.id_textBox1.value;
としていますが、idで指定したいなら
document.getElementById("id_textBox1").value;
でしょうし、nameで参照したいなら
document.form1.elements["name_textBox1"].value;
ではないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascript ループがうごかない
-
指定したパスが現URLに含まれて...
-
Gif画像のアニメーションが再生...
-
読み込んだQRコードをフォーム...
-
表示・非表示のスクリプトで、...
-
PHPのDOMについて
-
IEの半角スペースの連続とinner...
-
IFRAMEの表示/非表示を切り替え...
-
同一ページ内リンクで、クロス...
-
【jquery】スクロールで背景画...
-
配列で特定キーが同じ値だった...
-
createElementで作成した要素を...
-
外部ページからハッシュタグ(...
-
cssでdisplay:noneを指定した時...
-
jquery ドロップダウンメニュー...
-
チェックボックスに入っている...
-
jqueryのsortableで一部ソート...
-
JavaScriptで変更した属性の元...
-
yahooジオシティーズでのCSS読...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
前回の質問の続き
-
javascriptテキストBOX色を元に...
-
createElementで作成した要素を...
-
クリックで色変更後に既に変更...
-
読み込んだQRコードをフォーム...
-
getElementByIdの戻り値がnull...
-
iframe内のリンクが飛ばないの...
-
背景色を透明化
-
removeEventListenerについて
-
jQueryで特定id以外の下にある...
-
jQueryのアコーディオンメニュ...
-
javascriptでオブジェクトの重...
-
removeAttribute()メソッドで削...
-
変数内容をHTML内で表示する方法
-
IFRAMEの表示/非表示を切り替え...
-
表示・非表示のスクリプトで、...
-
タブで開いてさらにタブ内をア...
-
クリックするとテーブルの列の...
-
console.log結果をhtmlで表示し...
おすすめ情報