0

我有一个可以在 FF、IE 8、IE 9、chrome 中提交的表单。

在 safari (windows) 中,它提交但我的模型是空的。此行为仅在我的开发和产品站点上,而不是本地开发。本地开发工作正常。我在这里做错了什么?

形式:

<form action="/NetSite/Applications/ElectronicFileTransfer" id="TransfersSearchForm" method="post">        
    <table class="siteTable">
            <tbody>
                <tr>
                    <th style="width: 20%;">FICE</th>
                    <td style="width: 80%;"><input id="Criteria_Fice" maxlength="6" name="Criteria.Fice" size="6" type="text" value="" /></td>
                </tr>
                <tr>
                    <th>Source Email</th>
                    <td><input id="Criteria_SourceEmail" maxlength="40" name="Criteria.SourceEmail" size="25" type="text" value="" /></td>
                </tr>
                <tr>
                    <th>Target Email</th>
                    <td><input id="Criteria_TargetEmail" maxlength="100" name="Criteria.TargetEmail" size="25" type="text" value="" /></td>
                </tr>
                <tr>
                    <th>Upload From Date</th>
                    <td>

            <input class="datePicker" data-val="true" data-val-date="Invalid date specified. Date should be like MM/DD/YYYY." id="Criteria_FromDate" maxlength="12" name="Criteria.FromDate" size="12" type="text" value="" />

                        <span class="field-validation-valid" data-valmsg-for="Criteria.FromDate" data-valmsg-replace="true"></span>
                    </td>
                </tr>
                <tr>
                    <th>Upload To Date</th>
                    <td>

            <input class="datePicker" data-val="true" data-val-date="Invalid date specified. Date should be like MM/DD/YYYY." id="Criteria_ToDate" maxlength="12" name="Criteria.ToDate" size="12" type="text" value="" />

                        <span class="field-validation-valid" data-valmsg-for="Criteria.ToDate" data-valmsg-replace="true"></span>
                    </td>
                </tr>
                <tr>
                    <th class="empty"></th>
                    <td>
                        <button type="submit" title="Search" id="SubmitButton" class="gradientbutton gradientsmall gradientorange">Search</button>&nbsp;
                        <button type="button" title="Clear" id="ClearButton" class="gradientbutton gradientsmall gradientorange">Reset</button>
                    </td>
                </tr>
            </tbody>
        </table>
</form>

事件调用的JS提交方法:

searchFormSubmit: function ($form, currentForm) {
        if ($form.valid()) {
            var $button = $("#" + FileTransferHome._enum.SubmitButton);
            var $searchResults = $("#" + FileTransferHome._enum.SearchResultsDivId);

            jMessage("Processing request...", $button, true, false);
            $.ajax({
                cache: false,
                url: currentForm.action,
                type: currentForm.method,
                data: $form.serialize(),
                error: function (xhr, ajaxOptions, thrownError) {
                    jMessageHide();
                    $searchResults.html(xhr.responseText).addClass(JSGlobalVars.MessageBoxError).fadeIn('slow');
                },
                success: function (result) {
                    jMessageHide();
                    $searchResults.removeClass(JSGlobalVars.MessageBoxError).html(result).fadeIn('slow');
                    location.hash = "SEARCHRESULTS";
                }
            });
        }
    }

行动:

我在那里有一个 else 块,我只是为了测试这个案例而放入的,它执行而不是主块。

[HttpPost]
public ActionResult Index(ElectronicFileTransferHomeViewModel model)
{
    ... actions...
}

在此处输入图像描述

4

1 回答 1

0

这在作为内部应用程序和 Windows 登录之后。Safari 在 Windows 身份验证方面没有问题。一个似乎对我们有用的解决方法(虽然并不理想)是将 Safari 置于隐私浏览模式。

于 2014-02-24T22:43:40.783 回答