我是Jquery的初学者, 混淆使用单引号或双引号来调用myName文本框的值,我想捕获文本框的值。
这是我的代码,调用函数save_order不起作用,因为失败语法在 的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>
请帮助我任何人 谢谢
答案 0 :(得分:0)
问题在于调用document.getelementById。通过转义,您可以实现结果。
Set wshShell = WScript.CreateObject("WScript.Shell")
wshShell.run "C:\Lexibar\SendKeys.exe",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>
...
我的部分:document.getElementById('myName')
当您使用document.getElementById(\'myName\')
作为字符串的开头和结尾字符时,如果要将'
内部用作字符串文字,则必须使用\'
。
答案 1 :(得分: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>
你可以这样做,或者只使用双引号,因为它也应该起作用。
答案 2 :(得分: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代码可以有一个单击处理程序,它响应任何&#34; order按钮&#34;点击:
$(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合理分离,代码变得更清晰,更易于维护。我确信这可以清理得更多,但这至少应该足以让你开始。