替换“;var url”;使用文本框输入
Replace "var url" using textbox input?
这是我使用JavaScript的第二天,这就是我迄今为止所做的:
http://jsbin.com/asale/52/edit?html,输出
它显示网站是否使用图像(var url)在线
我在这篇文章中使用了YouTube的标志,正如你所看到的,它说在线,如果你改为链接(例如删除一个字母),背景会改变,它说离线。
我的问题是文本框不起作用,我想通过在框中键入"var url"图像链接(例如徽标)来更改它。(我在文本框中粘贴了facebook标志的图片链接,点击Go!它应该会说它在线)
提前感谢!
一个简单的起点可以是给按钮添加一个id:
<input id="submitButton" type="button" value="Go!">
然后编辑一点脚本
<script type="text/javascript">
function showImage(url)
{
var url = url || "http://s.ytimg.com/yts/img/pixel-vfl3z5WfW.gif";
var img = new Image();
img.src = url;
img.onload = function()
{
document.body.parentNode.style.backgroundImage = 'url(http://i.imgur.com/Kkku0Q9.png)';
}
img.onerror = function()
{
document.body.parentNode.style.backgroundImage = 'url(http://i.imgur.com/AP8hxNL.png)';
};
}
showImage();
sub = document.getElementById('submitButton');
sub.addEventListener('click', function(e)
{
// var url = document.getElementsByName('test')[1].value; as one of many alternatives
var url = e.target.previousElementSibling.previousElementSibling.value;
showImage(url);
});
</script>
jsbin中提到的代码只适用于页面加载。您需要添加额外的功能来读取文本框值并将其显示在图像中。可能您的代码中缺少该部分。
检查这个。。。
<center>
<form name="test">
<H2>Check website:</H2>
<p>
<input type ="text" name="test" id="url_field"><BR>
<input type="button" value="Go!" onClick="openURL(document.getElementById('url_field').value);">
</p>
</form>
</center>
<script type="text/javascript">
var url = "http://s.ytimg.com/yts/img/pixel-vfl3z5WfW.gif";
openURL();
function openURL(image)
{
if(image!=undefined)
url = image;
var img = new Image();
img.src = url;
img.onload = function()
{
// If the server is up, do this.
document.body.parentNode.style.backgroundImage = 'url(http://i.imgur.com/Kkku0Q9.png)';
}
img.onerror = function()
{
// If the server is down, do that.
document.body.parentNode.style.backgroundImage = 'url(http://i.imgur.com/AP8hxNL.png)';
}
}
</script>
如果我理解正确,您需要将"url"的值更改为文本框中的值。
将html修改为:
<center>
<form name="test">
<H2>Check website:</H2>
<p>
<input type ="text" name="test" id="txtInput"><BR>
<input type="button" value="Go!" onClick="changeImg()">
</p>
</form>
</center>
在脚本中有
function changeImg(){
var url = document.getElementById("textInput").value;
var img = new Image();
img.scr = url;
img.onload = function()
{
// If the server is up, do this.
document.body.parentNode.style.backgroundImage = 'url(http://i.imgur.com/Kkku0Q9.png)';
}
img.onerror = function()
{
// If the server is down, do that.
document.body.parentNode.style.backgroundImage = 'url(http://i.imgur.com/AP8hxNL.png)';
}
}
我认为你应该好好地走!
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- Sails.js:同时发布文本输入和一个文件
- 来自文本输入null的html javascript变量
- 当没有文本输入聚焦时检测空格键按下
- JS中的按钮和文本输入
- JavaScript:在调用函数的文本输入上按enter键
- jQuery自动完成功能不适用于多个文本输入
- 使用JS从选择和文本输入中捕获值,并将输出返回到HTML
- 如何通过jQuery发送选定的元素和文本输入
- HTML如何根据javascript函数的返回值限制文本输入
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在jquery中获取文本输入val始终为空
- HTML文本输入大小
- 文本输入与文本区域
- 角度ui选择标记模糊时丢失文本输入
- 文本输入值中的JavaScript变量
- Angular指令中的最佳实践是将文本输入设置为英尺和英寸的格式
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 在文本输入区域中创建双向更新
- 不使用自定义CSS或HTML(使用框架方法)的角度材质文本输入或文本区域标签大小