Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript问题中更改图像src的值_Javascript_Html - Fatal编程技术网

在javascript问题中更改图像src的值

在javascript问题中更改图像src的值,javascript,html,Javascript,Html,嘿,伙计们,我对JavaScript还是个新手。 我想动态更改图片: HTML: productImg)}“class=”attachment-shop_single wp post image“alt=”“title=”“id=”myImg“> {{$product->productName} {{csrf_field()}} 模型 * Wybierz模型产品。。。 @foreach($productModels作为$productModel) {{$productModel->modelN

嘿,伙计们,我对JavaScript还是个新手。 我想动态更改图片:

HTML:

productImg)}“class=”attachment-shop_single wp post image“alt=”“title=”“id=”myImg“>
{{$product->productName}
{{csrf_field()}}
模型
*
Wybierz模型产品。。。
@foreach($productModels作为$productModel)
{{$productModel->modelName}-{{$productModel->modelPrice}}@if($productModel->modelPriceCurrency==1)PLN@else EUR@endif
@endforeach
国际劳工组织主席:
1.
2.
3.
4.
5.
{!!nl2br(e($productCategory->categoryDescription))

JS

函数myFunction(){
var模型=[
,
];
var e=document.getElementById(“productModel”);
var selectedModelId=e.options[e.selectedIndex]。值-1;
var modelImg=model[selectedModelId].modelImg;
document.getElementById(“myImg”).src='storage/'+modelImg;
}
myFunction();
问题是,当我更改图片的源时,javascript会在以下两个之间添加“/item”:

链接应该如下所示:


是否有删除“/item”的选项?

要删除
/item
,请执行以下操作:

var modelImg = model[selectedModelId].modelImg;
var source = '/storage' + modelImg;
source = source.split("/item");
source.join("");
document.getElementById("myImg").src = source;

这里的问题很简单,您正在将src属性设置为相对路径。
storage/
将创建一个相对于您当前url的链接,因此,当您遇到此错误时,我将使用您的url为“”

要使此路径从站点根目录成为绝对路径,只需在其前面加上另一个斜杠即可。这样,无论当前url是什么,它都将始终相对于站点根目录

document.getElementById("myImg").src = '/storage/' + modelImg;

杰克·巴什福德(Jack Bashford)的解决方案也在url前添加了斜杠,但随后在不存在的内容上拆分字符串,然后只使用一个项目加入一个数组,这是一种毫无意义的做法。

如果不这样添加图片,请使用编辑器中的图像图标(这些链接无论如何都会断开-127.0.0.1是localhost,因此我们无法访问您的图片)此回答忽略了实际错误,即路径开头缺少斜杠。它通过添加斜杠,然后添加大量无意义的内容来“修复”问题“不会在实际字符串中出现。仅代码的答案没有特别的帮助。您应该解释OP为什么会出现问题,以及代码如何解决问题。”。
var modelImg = model[selectedModelId].modelImg;
var source = '/storage' + modelImg;
source = source.split("/item");
source.join("");
document.getElementById("myImg").src = source;
document.getElementById("myImg").src = '/storage/' + modelImg;