مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

iran

عضویت از 1394/01/31

عدم نمایش کد هنگام اجرا با ajax

  • شنبه 31 شهریور 1397
  • 14:48
تشکر میکنم

سلام
من کد زیر را دارم

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    <div class="container">
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    @Html.HiddenFor(model => model.HumanId)

    <div class="form-group">
        <div class="row">
            <div class="col-lg-3 col-xl-3 text-left ml-lg-1 ml-xl-1 mt-lg-1 mt-xl-1">
                @Html.LabelFor(model => model.NationalId, htmlAttributes: new { @class = "control-label col-lg-12 col-xl-12" })
            </div>
            <div class="col-lg-6 col-xl-6 text-right">
                @Html.DisplayFor(model => model.NationalId, new { htmlAttributes = new { @class = "form-control" } })
            </div>
        </div>
    </div>
    <div class="form-group">
        <div class="row">
            <div class="col-lg-3 col-xl-3 text-left ml-lg-1 ml-xl-1 mt-lg-1 mt-xl-1">
                @Html.LabelFor(model => model.FirstName, htmlAttributes: new { @class = "control-label col-lg-12 col-xl-12" })
            </div>
            <div class="col-lg-6 col-xl-6 text-right">
                @Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.FirstName, "", new { @class = "text-danger" })
            </div>
        </div>
    </div>
	}

و هنگام ویرایش از دستور ajax استفاده میکنم

<script>
    $(function () {
        var a = $("#EditHuman");
        a.on("click", function () {
            var token = $('input[name=__RequestVerificationToken]').val();
            var dataObject = {
                FirstName: $("#FirstName").val(),
                
            };
            $.ajax({
                url: '@Url.Action("Edit", "Home")',
                data: {
                    __RequestVerificationToken: token,
                    humanIraniEdit: dataObject
                },
                type: "POST",
                success: function (res) {
                    $.ajax({
                        url: '@Url.Action("Index", "Home")',
                        data: { },
                        type: "Get",
                        success: function(resualt) {
                            $("#Number").html(resualt);
                        }
                    });
                   
                }, error: function () {
                    $('#FirstName span').html('<span id="FirstName-error" class="">مقدار فيلد نام الزامي است!</span>');
                    alert('<span id="FirstName-error" class="">مقدار فيلد نام الزامي است!</span>');
                }
            });
        });
    });
</script>

وقتی error روی میدهد

alert('<span id="FirstName-error" class="">مقدار فيلد نام الزامي است!</span>');

نمایش داده میشود
اما کد

  $('#FirstName span').html('<span id="FirstName-error" class="">مقدار فيلد نام الزامي است!</span>');

نمایش داده نمیشود 
باید چکارکنم تا این کد هم نمایش داده شود
باتشکر

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 31 شهریور 1397
  • 16:08

کد شما در حال اضافه کردن یک span به span انتخاب شده است و همان span که صفحه وجود دارد را تغییر نمی دهد. المنت FirstName کجا قرار دارد ؟ کد html را کامل قرار بدید.

کاربر سایت

iran

عضویت از 1394/01/31

  • شنبه 31 شهریور 1397
  • 16:29

باسلام

@model Models.Hr.EntityView.Person.Edit
@{
    Layout = null;
}

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    <div class="container">
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    @Html.HiddenFor(model => model.HumanId)
    <div class="form-group">
        <div class="row">
            <div class="col-lg-3 col-xl-3 text-left ml-lg-1 ml-xl-1 mt-lg-1 mt-xl-1">
                @Html.LabelFor(model => model.FirstName, htmlAttributes: new { @class = "control-label col-lg-12 col-xl-12" })
            </div>
            <div class="col-lg-6 col-xl-6 text-right">
                @Html.EditorFor(model => model.FirstName, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.FirstName, "", new { @class = "text-danger" })
            </div>
        </div>
    </div>
    </div>

}
<div class="form-group">
    <div class="row">
        <div class=" col-lg-6 text-center">
            <button Id="EditHuman" value="Edit" class=" btn btn-success  rounded ">
                <span>Edit</span>
                <i class="fal fa-edit"></i>
            </button>
        </div>
        <div class=" col-lg-6 text-center">
            <a id="backToList" value="Back" class=" btn btn-danger  rounded ">
                <span>Back</span>
                <i class="fal fa-undo"></i>
            </a>
        </div>

              
    </div>
</div>









@*ویرایش*@
<script>
    $(function () {
        var a = $("#EditHuman");
        a.on("click", function () {
            var token = $('input[name=__RequestVerificationToken]').val();
            var dataObject = {
                Id: 1,
                FirstName: $("#FirstName").val(),
             
            };
            $.ajax({
                url: '@Url.Action("Edit", "Home")',
                data: {
                    __RequestVerificationToken: token,
                    humanIraniEdit: dataObject
                },
                type: "POST",
                success: function (res) {
                    $.ajax({
                        url: '@Url.Action("Index", "Home")',
                        data: { humanId: dataObject.HumanId, personId:null},
                        type: "Get",
                        success: function(resualt) {
                            $("#Number").html(resualt);
                        }
                    });
                   
                }, error: function () {
                    //نمایش ارورها
                    //$('#FirstName span').html('<span id="FirstName-error" class="">مقدار فيلد نام الزامي است!</span>');
                    //alert('<span id="FirstName-error" class="">مقدار فيلد نام الزامي است!</span>');
                }
            });
        });
    });
</script>

@Scripts.Render("~/bundles/jqueryval")

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 31 شهریور 1397
  • 16:59

اگه مشکلتون همون تاپیک قبلیه راه حلی که دارید استفاده می کنید اشتباه و جالب نیست، چرا از روشی که در تاپیک قبلی معرفی کردم استفاده نمی کنید ؟

کاربر سایت

iran

عضویت از 1394/01/31

  • شنبه 31 شهریور 1397
  • 17:23
سلام بله همان قبلی هست اما نتونستم کاری کنم متاسفانه
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)