2017-06-05 7 views
1

私はJqueryの初心者です。 myName Textboxの値を呼び出すために一重引用符や二重引用符を使用すると混乱します。テキストボックスの値をキャッチします。シングルまたはダブルクォートのjavascriptの追加

のdocument.getElementById('がmyName')であるため、障害の構文これは、関数save_orderが動作していない呼び出して、私のコードでは、右の構文が何であるかを

を.VALUE?

<script> 
var param=3; 
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+ 
'<p><input type="button" value="SAVE" onClick="save_order('+ param +',document.getElementById('myName').value)"></p>'); 
</script> 

のplsは誰 はあなたに問題がのdocument.getElementByIdの呼び出しである

+0

あなたのコードはすべて投稿できますか? HTMLとエラーの原因となっている部分を含む。 – doutriforce

答えて

0

に感謝私を助けて。エスケープすると、結果を達成することができます。

document.getElementById('myName') ...そして、私の一部:

<script> 
var param=3; 
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+ 
'<p><input type="button" value="SAVE" onClick="save_order('+ param +',document.getElementById(\'myName\').value)"></p>'); 
</script> 

あなたの部分をチェックしますが、文字列の先頭と最後の文字として'を使用する場合document.getElementById(\'myName\')

を、あなたが使用したい場合は\'を使用する必要があります'内部は文字列リテラルです。

+0

ありがとう..その今働いた – Def

0
<script> 
var param=3; 
$('#saveList').append(
'<p>FullName : <input type="text" id="myName"></p>'+ 
'<p><input type="button" value="SAVE" onClick="save_order('+ param +',document.getElementById(\'myName\').value)"></p>'); 
</script> 

このようにすることも、二重引用符を使用することもできます。

0

コード内でコード内にコードを持つことは、正直言って、問題を引用することだけです。これらの言語を積み重ねる代わりに、すでに使用しているjQueryライブラリを使用して、新しい要素のクリックハンドラを作成します。

これらの追加された要素が一意であり、idの値を持つことができるかどうかは完全にはわかりません。入力ボタンの値はclassです。動的値にはdata-の属性を使用します。このような何か:

var param=3; 
$('#saveList').append(
    '<p>FullName : <input type="text" id="myName"></p>'+ 
    '<p><input type="button" class="orderButton" value="SAVE" data-name="myName" data-param="'+ param +'"></p>'); 

任意の「注文ボタン」に対応し、シングルクリックハンドラを持つことができますあなたのjQueryのコードは、クリックしてください:

$(document).on('click', '.orderButton', function() { 
    var nameElement = $(this).data('name'); 
    var name = $('#' + nameElement).val(); 
    var param = $(this).data('param'); 
    save_order(param, name); 
}); 

分離し、合理的なHTMLとJavaScriptを維持し、コードになりますロットクリーナーで維持しやすくなります。私はこれをかなりもっときれいにすることができると確信していますが、これは少なくともあなたを始めさせるのに十分なはずです。

関連する問題