根据在文本字段中输入的值更改Img Src

我需要帮助创建一个包含以下内容的表单

  1. TEXTFIELD (将用于输入7位数模型号)
  2. 图像占位符(将根据url更改图像占位符的src,例如它将变为src =“http://yourwebsite.com/product/ TEXTFIELD .jpg)

  3. 我需要以某种方式从产品的url中获取H1标记值

#3仍然没有解决!

真的很想要任何类型的帮助。 我用Google搜索了一整天真的需要帮助。 谢谢 !

我在下面有一些代码可以帮助想象我正在寻找什么。 如果您需要澄清或者我有点困惑,请与我联系。

7-digit product#

var model_input = document.getElementById('model'); var start = document.getElementById('start'); var end = document.getElementById('end'); var image = document.getElementsByTagName('img'); model_input.onkeyup = function(e){ image[0].src = start.value + model_input.value + end.value; }

〜编辑9:00 AM 5/29 / 12~


  1. 如果按Enter键,则会删除在文本字段中输入的值
  2. 我需要一种方法来使用相应的URL获取存储在H1标签中的产品描述(URL是在文本字段中输入的内容的型号,但是使用与用于抓取图像的URL结构不同的url结构,见下文… http://mywebsite.com/ProductDetails.aspx?productid= TEXTFIELD )***我应该注意,用于获取H1数据的URL将是“跨域”而不一定是某些域。 我读到jquery可能不会在跨域提出请求

您可以使用Jquery轻松完成此操作。

从http://www.jquery.com获取 Jquery的副本或使用CDN版本将其粘贴到您的头部:

  

这是一个简化版本:

如果您的url的开头和结尾部分不会更改,您可以简化您的表单:

 

然后使用以下Jquery代码,您可以检测到更新按钮上的单击,从文本框中获取代码并将图像src属性更改为

 http://mysite.com/products/typed_code_here 

只需将jquery代码(和脚本标记)粘贴到您的head部分即可

  

如果你想在没有Jquery的情况下这样做,如果你的html必须保持如上,你可以使用以下内容和原始的html(注意代码中的拼写错误):

  

根据您想要更新图像的方式,onkeyup事件可以更改为模糊,更改等。 我建议一个按钮,以便用户在认为代码有效时可以更新图像。

更新

以下github项目使用jQuery在跨域html请求的前端取得了进展。 https://github.com/padolsey/jQuery-Plugins/tree/master/cross-domain-ajax/

基本上你只需要通过ajax(jQuery.ajax())获取产品页面,然后在ajax回调中你必须扫描返回的HTML中的h1元素。 最终跨域ajax是一种设计模式,并且存在与之相关的最佳实践。 为了h1元素而抓取整个HTML页面并不是很有效。 考虑修改您的方法,如果您引用的网站不是您自己的网站,请务必查看任何版权法律/条款和条件。

如果你使用jquery,你可以这样做:

 $(function () { $('#model').change(function () { $('img[name="productimage"]').attr('src', $('#start').val() + $('#model').val() + $('#end').val()); }); }); 

在你的HTML中采取一个隐藏的div 。 假设

 
$('#model').blur(function () { var modelVal = $.trim(this.value), startVal = $.trim($('#start').val()), endVal = $.trim($('#end').val()); if( modelVal && startVal && endVal) { var imgUrl = startVal + modelVal + endVal, siteUrl = startVal + modelVal; $('img[name="productimage"]') .attr('src', ); // process to get h1 tag $('#loadSource').load(''+ siteUrl +' h1', function() { console.log( $('#loadSource h1').text() ); }); } });