我想要envId并转到另一个控制器

时间:2017-12-29 04:32:00

标签: javascript jquery

<table class="table table-bordered table-hover">
    <thead align="center">
    <tr class="success">
            <td>Env-Id</td>
            <td>Name</td>
            <td>Type</td>
            <td>Description</td>
            <td>Edit</td>
            <td>Delete</td>

        </tr>
    </thead>

    <c:forEach var="env" items="${envList}">
        <tr align="center" class="active" id="commonTr">
            <td>${env.envId}</td>
            <td>${env.envname}</td>
            <td>${env.envtype}</td>
            <td>${env.envdesc}</td>
            <td><a href="" onClick="selectId(this, '${env.envId}');"><span class="glyphicon glyphicon-edit"></span></a></td>
            <td><a href="" onClick="getPageDelRequest(this, '${env.envname}');" data-url="deleteEnv"><span class="glyphicon glyphicon-trash"></span></a></td>
            </tr>
    </c:forEach>
</table>

这是我的js代码.....

function selectId(val) {
    alert('efeeerf' + val.value);

    window.location="editEnv?envId="+val.value;
 }

当我点击编辑时,它会提醒efeeerfundefined。我怎么能摆脱它?

1 个答案:

答案 0 :(得分:0)

如果您的功能是:

    function selectId(val) {
        alert('efeeerf' + val.value);

        window.location="editEnv?envId="+val.value;
    }

和你的HTML

    <a href="" onClick="selectId(this, '${env.envId}');"><span class="glyphicon glyphicon-edit"></span></a>

val这里是a html标记,它没有value属性,因此您会收到未定义的错误。还有一件事,你传递'${env.envId}',这意味着你将一个字符串传递给你的函数,而不是一个对象所以它也没有value属性

如果你可以改变你的js功能,你可以尝试

    function selectId(obj, envId) {
        alert('efeeerf' + envId);

        window.location="editEnv?envId=" + envId;
    }