当前位置: 代码迷 >> JavaScript >> 将字符串格式的日期从html发送到javascript函数。 Javascript仅获得不同的年份
  详细解决方案

将字符串格式的日期从html发送到javascript函数。 Javascript仅获得不同的年份

热度:77   发布时间:2023-06-05 10:28:30.0

我正在将(书的返还日期)发送给javascript函数。

<td onclick="setApproved(@item.SchoolBook.Id,0,@item.Requestor.Id,@item.ExpectedReturnDate)"><button class="button-green" title="Approve">Approve</button></td>

调试时,我看到正确显示了@ item.ExpectedReturnDate这是一个字符串,但是该函数完全接收其他内容。 例如:@ item.ExpectedReturnDate为2019-06-27,javascript函数接收1986。Javascript函数:

function setApproved(bookId, type, requestorId,erd) {
    $.ajax({
        type: "get",
        url: "/Books/SetApproved",
        dataType: "json",
        data: {
            bookId: bookId,
            type: type,
            requestorId: requestorId,
            erd: erd
        },
        success: function (response) {
            if (response == "success")
                //reload page
                location.href = `/Books/BooksToLend`;
            else
                if (response == "fail")
                    //load error page
                    location.href = `/User/Error`;
        },
        failure: function (response) {
            location.href = `/User/Error`;
        },
        error: function (response) {
            location.href = `/User/Error`;
        }
    });
}

以下是浏览器中调试的快照:

发送到功能

接收什么功能

我将不胜感激。 谢谢

问题是您发送的日期像数字一样,但是却带有-字符。

为了使其正常工作,您应该将日期作为字符串发送,或者创建一个新的Date对象。

像这样:

 setApproved(5, 0, 323214, 2019-06-27) setApproved(5, 0, 323214, '2019-06-27') setApproved(5, 0, 323214, new Date('2019-06-27')) function setApproved(bookId, type, requestorId,erd) { console.log(bookId); console.log(type); console.log(requestorId); console.log(erd); } 

  相关解决方案