Car*_*rla 6 html javascript ajax jquery ajax.beginform
我需要你的帮助.我正在使用AjaxBeginform在一个小文本字段中提交问题.我可以提交问题,它可以很好地发布到db,但问题永远不会解决.我正在使用Ajax,因为我不希望整个页面发布.我尝试过使用this.rest(); 但这适用于IE,但它不适用于Firefox和Chrome.我试过$('#question').reset(); 但那还是行不通的.我确信这是我做错了.
这是我的代码如下.谢谢您的帮助.
这是我在页面顶部的脚本:
    <script type="text/javascript" src="~/Scripts/jquery-migrate-    1.2.1.min.js"></script>
这是AjaxBeginForm以及文本框
     @using (Ajax.BeginForm("SendQuestion", new { PresId = Model.PresentationID, catalogId = ViewBag.CatalogId }, new AjaxOptions
        {
            HttpMethod = "Post",
            UpdateTargetId = "questionTxt",
            OnBegin = "OnBegin",
            OnSuccess = "OnSuccess",
            OnFailure = "OnFailure"
        }))
            {
                <fieldset id="question">
                    <p>
                        <textarea id="questionTxt" style="font-size:12px" cols="20" rows="6" name="questionTxt" onclick="javascript:removeTextAreaWhiteSpace(this);"></textarea>
                    </p>
                    <button id="question-btn" type="submit">Submit</button>
                </fieldset>
            }
这是我对OnSuccess的功能
  function OnSuccess() {
    alert("Your question has been submitted.");
    $('#question').val('');
}
这是我的控制器
    public bool SendQuestion(string questionTxt, long PresId, long catalogId)
    {
        try
        {
            var db = new ODTEntities();
            var pres = db.Presentations.FirstOrDefault(i => i.PresentationID == PresId);
            var subject = db.Catalogs.FirstOrDefault(i => i.CatalogID == catalogId).CatalogCode + " - " + pres.Title + " - " + pres.Presenter.PresenterName;
            Utils.AddQuestionToDB(db, PresId, catalogId, Utils.GetAttendeeId(), questionTxt);
            string body = "This question : " + Environment.NewLine + questionTxt + Environment.NewLine + " was sent by " +
                          User.Identity.Name;
            var catalog = db.Catalogs.FirstOrDefault(i => i.CatalogID == catalogId);
            if (!string.IsNullOrEmpty(catalog.QuestionsEmail))
                Helper.SendMail(body, subject, catalog.QuestionsEmail, "");
            else
                Helper.SendMail(body, subject);
        }
        catch (Exception)
        {
            return false;
        }
        return true;
    }
就像我之前说过的那样,我已经尝试过这个,它将在IE中清除,但不会在Firefox或Chrome中清除.因此,当我提交表单时弹出窗口返回,您的问题已经提交,弹出窗口可见,问题变为true,然后在弹出窗口中单击确定,文本框在IE中被清除:
      function OnSuccess() {
    alert("Your question has been submitted.");
    $('#question').val('');
    this.reset();
}
如果有人能告诉我我做错了什么,那将非常感激.谢谢.
function OnSuccess() {
    alert("Your question has been submitted.");
    this.reset();
    $('#questionTxt').val(''); //Modified, put it AFTER reset()
}
QuestionTxt不是问题
| 归档时间: | 
 | 
| 查看次数: | 2429 次 | 
| 最近记录: |