我正在研究代码生成器,我想知道是否可以使用javscript将javascript注入文本框。
我不希望执行注入的javascript,我担心字符串中的引号可能会导致错误。
例如,我想注入这个脚本:
$('#click').function(){
$('#thing').html('<a href="user.php">User</a>');
}
进入此文本框:
<textarea rows="3" cols="20" id="textbox">
</textarea>
使用javascript(jQuery)的.html()
。
我怎样才能做到这一点?
答案 0 :(得分:2)
您也可以使用追加功能。
$('#click').function(){
$('#thing').append('<a href=\"user.php\">User</a>');
}
答案 1 :(得分:1)
只需设置元素的值:
$('#textbox').val("whatever, including JavaScript");
您必须确保引用要放入<textarea>
的代码中的引号字符,但那是因为您在JavaScript中表达JavaScript源代码并且实际上没有任何内容与HTML元素有关。
$('#textbox').val(
"$('#click').function(){\n" +
" $('#thing').html('<a href=\"user.php\">User</a>');\n" +
"}"
);
答案 2 :(得分:0)
您是否尝试使用转义字符序列,例如\'或\“?
类似的东西:
$('#textbox').html("$('#click').function(){
$('#thing').html('<a href=\"user.php\">User</a>');
}");