MyCampaingPlugin

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
11 anos atrás
Hello,

I'm creating my own plugin to get data from my ERP system to MyCampaingPlugin.

I write plugin with adds table to nopCommerce database. I create a new Campaign and i want to load quotation from my system ERP to  @Html.EditorFor(model=>model.Body, "RichEditor").

My function in controller:


        [HttpPost, ActionName("Edit")]
        [FormValueRequired("order")]
        public ActionResult Order(MyCampaignModel _model)
        {
            _model.Body = GetMyOrder(_model.DocEntry);
            return Json(_model, JsonRequestBehavior.AllowGet);
        }


My View Edit.cshtml:


           <script type="text/javascript">

               $("#Order").click(function () {

                   alert('1');


                    $.ajax({
                           type: "POST",
                           url: '@Url.Action( "Edit", "MyCampaign")',
                           data: "model.DocEntry=1723",
                           success: function (msg) {
                               $('#inputName').val(msg.DocEntry);
                               alert("Body: " + msg.Body);
                           }
                       });

                       alert('2');
                   });

        </script>

@using (Html.BeginForm())
{  
    <input id="inputName"/>
    <input type="submit" id="Order" name="Order" class="t-button" value="@T("Order")" />
...



I tried many ways to sole this problem but java script dosn't fire  :( Why? Have any one idea ?
11 anos atrás
Hi,

your code might be trying to register the click event before the DOM is ready
try wrapping you code like this



$(function() {
$("#Order").click(function () {

                   alert('1');


                    $.ajax({
                           type: "POST",
                           url: '@Url.Action( "Edit", "MyCampaign")',
                           data: "model.DocEntry=1723",
                           success: function (msg) {
                               $('#inputName').val(msg.DocEntry);
                               alert("Body: " + msg.Body);
                           }
                       });

                       alert('2');
                   });
});


hope this helps
11 anos atrás
Hi Renzo,

I used

               $(document).ready(function () {


but still json dosn't work :(
11 anos atrás
:( can you see your javascript rendering in the page?
11 anos atrás
I have modified my script an its working but now i i want to put it to control @Html.EditorFor(model=>model.Body, "RichEditor")
How can I bind it ?



           <script type="text/javascript">

               $(document).ready(function () {

                   $("#Order").click(function () {

                    $.ajax({
                        type: "GET",
                        url: '/MyCampaign/Order/',
                        @*data: JSON.stringify(requestData),*@
                        data: ({ id: 50000 }),
                        dataType: 'json',
                        contentType: "application/json; charset=utf-8",
                        error: function (xhr) {
                            alert('Error: ' + xhr.statusText);
                        },
                        success: function (msg) {
                            alert("DocEntry : " + msg.Body);
                        }
                       });

                       return false;
                   });

                   var requestData = {
                       DocEntry: $.trim($('#inputName').val())
                   };

               });

        </script>


This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.