foreach 值在网络共享 api javascript 函数中传递重复项
foreach value passing duplication in web share api javascript function
我正在尝试分享特定产品的 link。
在 foreach 循环中,我正在调用用户的产品,以便他们可以通过按共享来共享它。 API 正在工作。
但是,每个传递第一个 id 的按钮都有重复,我没有任何解决方案...
自 2 天以来尝试不同的事情,但都是静脉......
请指导我找到解决方案谢谢....
这里是按钮代码
@foreach($sellers as $reports)
<input id="myInput" type="button" data-name="{{$reports['title']}}" data-id="{{$reports['id']}}" value="{{$reports['id']}}" onclick="addRow(this)">
@endforeach
这里是js函数
@push('myjs')
<script>
function addRow(ele)
{
var name= $(ele).attr('data-name');
var id= $(ele).attr('data-id');
var text = "http://127.0.0.1:8000/scan-s-report/"+ id +"/landing-page";
var subject = "Report link for"+ name ;
console.log(subject);
$(document).on('click', () => {
if (navigator.share !== undefined) {
navigator.share({
// console.log('I m if');
text: text,
// title: 'Web Share API Draft',
// url: 'https://wicg.github.io/web-share/#share-method',
})
.then(() => console.log('Successful share'))
.catch((error) => console.log('Error sharing', error));
}
// else {
// // console.log('I m else');
// window.location = 'mailto:?subject=Report link for + name +&body=http://127.0.0.1:8000/scan-sm-report/+ id +/landing-page';
// }
});
}
</script>
@endpush
@Anurad
如果您使用 onclick="addRow()" 那么我认为您不需要 $().on('click', ...)。他们在做同样的事情。我觉得你可以把里面的代码搬出来 () => {...} 祝你好运
@阿努拉德
这对我有用,现在它就像一个魅力:D
@push('myjs')
<script>
function addRow(ele)
{
var name= $(ele).attr('data-name');
var id= $(ele).attr('data-id');
var text = "http://127.0.0.1:8000/scan-s-report/"+ id +"/landing-page";
var subject = "Report link for"+ name ;
console.log(subject);
// $('input[type=button]').on('click', () => {
if (navigator.share !== undefined) {
navigator.share({
// console.log('I m if');
text: text,
// title: 'Web Share API Draft',
// url: 'https://wicg.github.io/web-share/#share-method',
})
.then(() => console.log('Successful share'))
.catch((error) => console.log('Error sharing', error));
}
// else {
// // console.log('I m else');
// window.location = 'mailto:?subject=Report link for + name +&body=http://127.0.0.1:8000/scan-sm-report/+ id +/landing-page';
// }
// });
}
</script>
@endpush
我正在尝试分享特定产品的 link。 在 foreach 循环中,我正在调用用户的产品,以便他们可以通过按共享来共享它。 API 正在工作。
但是,每个传递第一个 id 的按钮都有重复,我没有任何解决方案... 自 2 天以来尝试不同的事情,但都是静脉...... 请指导我找到解决方案谢谢....
这里是按钮代码
@foreach($sellers as $reports)
<input id="myInput" type="button" data-name="{{$reports['title']}}" data-id="{{$reports['id']}}" value="{{$reports['id']}}" onclick="addRow(this)">
@endforeach
这里是js函数
@push('myjs')
<script>
function addRow(ele)
{
var name= $(ele).attr('data-name');
var id= $(ele).attr('data-id');
var text = "http://127.0.0.1:8000/scan-s-report/"+ id +"/landing-page";
var subject = "Report link for"+ name ;
console.log(subject);
$(document).on('click', () => {
if (navigator.share !== undefined) {
navigator.share({
// console.log('I m if');
text: text,
// title: 'Web Share API Draft',
// url: 'https://wicg.github.io/web-share/#share-method',
})
.then(() => console.log('Successful share'))
.catch((error) => console.log('Error sharing', error));
}
// else {
// // console.log('I m else');
// window.location = 'mailto:?subject=Report link for + name +&body=http://127.0.0.1:8000/scan-sm-report/+ id +/landing-page';
// }
});
}
</script>
@endpush
@Anurad
如果您使用 onclick="addRow()" 那么我认为您不需要 $().on('click', ...)。他们在做同样的事情。我觉得你可以把里面的代码搬出来 () => {...} 祝你好运 @阿努拉德 这对我有用,现在它就像一个魅力:D
@push('myjs')
<script>
function addRow(ele)
{
var name= $(ele).attr('data-name');
var id= $(ele).attr('data-id');
var text = "http://127.0.0.1:8000/scan-s-report/"+ id +"/landing-page";
var subject = "Report link for"+ name ;
console.log(subject);
// $('input[type=button]').on('click', () => {
if (navigator.share !== undefined) {
navigator.share({
// console.log('I m if');
text: text,
// title: 'Web Share API Draft',
// url: 'https://wicg.github.io/web-share/#share-method',
})
.then(() => console.log('Successful share'))
.catch((error) => console.log('Error sharing', error));
}
// else {
// // console.log('I m else');
// window.location = 'mailto:?subject=Report link for + name +&body=http://127.0.0.1:8000/scan-sm-report/+ id +/landing-page';
// }
// });
}
</script>
@endpush