将用户输入动态地附加到<script src=“">来自Java Script中的文本框
Dynamically appending the user input to <script src= " "> from a textbox in Java Script
我是JavaScript的新手,我尝试在线搜索问题的解决方案,但没有成功。
我需要将用户的输入从文本框中附加到同一文件中<script>
元素的"src"属性的按钮的onclick
之后。我该怎么做?
<script id="url " type="text/javascript" src="http://gdata.youtube.com/feeds/api/videos?q=USER INPUT&alt=json-in-script&callback=showMyVideos2&max-results=30&format=5">
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Search" OnClick= ? />
(function( doc, $ ){
$.call( doc, 'Button1' ).addEventListener( 'click', function() {
var script = $.call( doc, 'url' );
script.src += $.call( doc, 'TextBox1' ).value;
});
}(document, document.getElementById ));
PS:我对文档和documentElementById函数进行了别名处理,以保存一些字符。。
我不完全确定你想要实现什么,但这里有几种技术:
动态检索所需的JavaScript(通过AJAX调用),并使用eval()调用它->这将解释和执行JavaScript代码。这可能非常危险,所以要小心操作。
动态添加<脚本>元素,并将该元素附加到文档的元素中。
如果您使用的是jQuery,则可以使用$.getScript()函数来动态检索和执行JavaScript。
还可以看看这个堆栈溢出问题:
如何动态插入<脚本>页面加载后通过jQuery标记?
虽然很古老,但这里对一些不同的技术进行了很好的描述:http://unixpapa.com/js/dyna.html
<input type="text" id="user_input" />
<div id="start">START</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javasscript">
$(document).ready(function() {
$('#start').on('click', function() {
$.getScript('http://gdata.youtube.com/feeds/api/videos?q='+$('user_input').val()+'&alt=json-in-script&callback=showMyVideos2&max-results=30&format=5');
})
})
</script>
示例:http://jsfiddle.net/powtac/SvaXc/2/
如果你需要动态创建一个新的脚本标记(然后你可以删除你在标记中提供的标记),你可以这样做(我在这里使用jQuery是为了简化代码,否则我的帖子会变得不必要长):
(function($){
$(document.body).append( '<script src="' + $('#TextBox1').val() + '">' );
}(jQuery));
如果你不能(或想)使用jQuery,你可以这样做:
(function(doc, $) {
window.addEventListener('load', function() {
var dynScript = doc.createElement('script');
dynScript.setAttribute('src', $.call( doc, 'TextBox1' ).value );
doc.body.appendChild( dynScript );
} );
}(document, document.getElementById ));
希望这能有所帮助。
相关文章:
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- 显示“<script src='some.js'></脚本>"在Html文档中
- “=>"在javascript中定义函数的语法及其意义
- 为什么使用“;javascript:<代码>"令人不快的
- Javascript.替换元素“<termref/>"用规则的“;文本”;
- Safari-->"应用程序缓存清单的MIME类型不正确:text/plain&”;
- 逻辑“>"以及“<"在Jquery函数内部不起作用
- 为什么“<br>"显示而不是引起中断
- 添加“<strong>"到某个单词使用handlers.js
- 用“<选择></选择>"类型
- 为什么“</脚本>"在脚本标记中,标记被视为结束标记<h1>hlo</h1>&qu
- 什么's是“”的parentNode<tr>"
- Knockout.js"<!--ko if:-->"导致分离DOM元素的块
- 找到第一个序列“/>"在regExp中,javascript
- Regex检测到大于“>"并且小于“0”<"在字符串中
- 如何获取jquery.Ajax与“;投掷1<不要邪恶>"在json响应前面
- 如何使用“>"AngularJS ng-if语句中的比较器
- 修改htmlEntities流行的javascript函数以保留"<br>"子字符串
- 当“<按钮>"单击
- 在JavaScript中,为什么我的“<"以及“>"可以颠倒比较