在JSP中的foreach

删除内嵌的JavaScript我现在有一个jsp页面类似如下:在JSP中的foreach

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

<a href=# onclick="javascript:myFunction1();">Submit form with default</a><br>

<c:forEach items="${details}" var="detail">

<a href=# onclick="javascript:myFunction2(${detail.id});">Submit form for detail id <c:out value="detail.id" /></a><br>

</c:forEach>

<script type="text/javascript">

function myFunction1() {

document.myForm.id.value = 0;

document.myForm.submit();

}

function myFunction2(detailId) {

document.myForm.id.value = detailId;

document.myForm.submit();

}

</script>

出于安全原因,我想删除内嵌的JavaScript。我知道如何处理myFunction1()如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

<a href=# id="myDefault">Submit form with default</a><br>

<c:forEach items="${details}" var="detail">

<a href=# onclick="javascript:myFunction2(${detail.id});">Submit form for detail id <c:out value="detail.id" /></a><br>

</c:forEach>

<script src="myJavascript.js"></script>

,并在文件myJavascript.js:

function myFunction1() { 

document.myForm.id.value = 0;

document.myForm.submit();

}

function myFunction2(detailId) {

document.myForm.id.value = detailId;

document.myForm.submit();

}

document.getElementById('myDefault').addEventListener('click', myFunction1);

什么我不知道该怎么做的是如何删除onclick="javascript:myFunction2(${detail.id});"与一个事件处理器。

回答:

您可以将data attribute添加到每个锚一样:

data-detail-id="${detail.id} 

里面的单击事件处理程序,你可以得到价值与当前deatail ID:

this.dataset.detailId 

为了选择所有的美女主播与这样的数据属性,你可以使用:

document.querySelectorAll('[data-detail-id]') 

现在你可以重复你alre安以轩为第一个锚:

document.querySelectorAll('[data-detail-id]').forEach(function(ele, idx) {  

ele.addEventListener('click', function(e) {

var dID = this.dataset.detailId;

console.log(dID);

});

})

<a href=# data-detail-id="${detail.id}1">Submit form for detail id <c:out value="detail.id" /></a><br>  

<a href=# data-detail-id="${detail.id}2">Submit form for detail id <c:out value="detail.id" /></a><br>

以上是 在JSP中的foreach 的全部内容, 来源链接: utcz.com/qa/267196.html

回到顶部