0

ActionView我有通过将数据从 ajax 调用传递到控制器中的方法而生成的代码。我只能在 ajax 调用返回时访问该数据。我试图显示数据的区域没有刷新,所以我将它添加到我的PartialView返回到我创建的页面 div。我的问题是我有一个完全相同的小表的占位符,因此在用户提交调用 ajax 请求所需的内容之前,页面不会看起来很傻。我的问题是我在占位符区域和显示的区域中的按钮无法正常工作。我认为正在发生的事情是 javascript 被具有相同信息的两个区域弄糊涂了,但是更改名称/ID 似乎并不能解决它。这是我的代码。(我还需要占位符表在隐藏之前能够正常工作)

这是在主页:

        <tr>
            <td>Comments: @Html.TextBox("comments2", comment)</td>
            <td></td>
        </tr>
        <tr>

            <td style="vertical-align: middle;">Booking#:@Html.TextBox("bookNum2", bookNum)</td>

            <td><input id="saveOrder2" type="button" value="Save Order2" onclick="saveOrder2(true)" /></td>

        </tr>
        <tr>
            <td style="vertical-align: middle;">Ship Date:@Html.TextBox("shipDate2", shipDate)</td>
            <td>
                <input id="Build" type="button" value="Build Load" /> </td>
        </tr>
    </table>

在 PartialView 页面中,我有这个:

        <tr>
            <td>Comments: @Html.TextBox("comments", comment)</td>
            <td></td>
        </tr>
        <tr>

            <td style="vertical-align: middle;">Booking#:@Html.TextBox("bookNum", bookNum)</td>

            <td><input id="saveOrder" type="button" value="Save Order" onclick="saveOrder(true)" /></td>

        </tr>
        <tr>
            <td style="vertical-align: middle;">Ship Date:@Html.TextBox("shipDate", shipDate)</td>
            <td>
                <input id="Build" type="button" value="Build Load" /></td>
        </tr>
    </table>

然后我正在使用的javascript函数:

 function saveOrder(isSave)
{
    var comments = document.getElementById("comments2").value;
    var bookNum = document.getElementById("bookNum2").value;
    var shipDate = document.getElementById("shipDate2").value;


    var itemList = grabSaveItems();
    //alert(itemList.toString());
    var request = $.ajax(
         {
             type: "POST",
             url: "/Home/saveOrder",
             data: "itemList=" + itemList+"&isSave="+isSave+"&comments="+comments+"&bookNum="+bookNum+"&shipDate="+shipDate,
             success: function (itemList) {
             }
         });
    request.done(function () {
        if (isSave == true)
        {
            alert("The Order Was Saved");
        }

    });

    request.fail(function (Check, textStatus) { alert("Request failed: " + textStatus); });
}

因此,根据订单号,我将我需要的信息添加到模型中,然后返回我的 PartialView 以显示我需要的信息。在进行此 ajax 调用后单击“保存订单”时,出现以下运行时错误:Microsoft JScript 运行时错误:未找到成员。这发生在调用保存订单之后,调试器指向该函数之后的行,不确定这意味着什么。任何帮助,将不胜感激。

4

1 回答 1

0

好吧,我知道这很愚蠢。当您为输入的 id 分配与您的函数相同的名称时,看起来 Javascript 会变得怪异,因此它不知道该做什么/调用什么。

<td><input id="**saveOrder"** type="button" value="Save Order" onclick="**saveOrder**(true)"/></td>
于 2013-02-01T16:42:32.273 回答