Asked
Active
Viewed 77 times
1

I have 2 pages (data-role="page") in my HTML page, in the list page if you go to one detail, save, and try to go into another detail again, it goes to list instead of the detail page.
I tried to follow the code using chrome but the javascript is correct
To change page i use: $.mobile.changePage("#PageAddCustomer"); but it seems working for just 1/2 second, then it goes to the list (who is the first page in the code)
Chrome does not return any javascript error,
just here in stackoverflow preview it returns :"error loading page", with no clues on it
what is wrong ?
I am thinking to use 2 different HTML files, probably it could be an idea

   var lat = 0;
        var lng = 0;
        var map;
        var url = "https:////www.suale.it"; //"http://localhost:65386/";//
        var urlSito = url+"//GestionePersonale";// "http://localhost:65386/";//
        var urlCartellaIMG =url + "//IMGAnnunci";//  url+"//public//IMGAnnunci";//

        //tiene in memoria
        var Categorie;
        var Tipologie;
        var TipoAnnunci;
        var Razze;

        $(document).ready(function () {

            $("div[data-role='panel']").panel().enhanceWithin();

            VaiCustomers();

        });

        //target the entire page, and listen for touch events
        $('html, body').on('touchstart touchmove', function(e){ 
             //prevent native touch activity like scrolling
             e.preventDefault(); 
        });


        function caricaCustomer(j) {
            var $select = $('#cbbInsAdsCustomer');
            $select.find('option').remove();
            $select.append("<option ></option>");

            $.each(j, function (key, value) {
                $select.append('<option value=' + value.CodTipologia + '>' + value.DescTipologia + '</option>');
            });
        }


          function GoPage(page) {
        //$.mobile.changePage(page);

        $(':mobile-pagecontainer').pagecontainer('change', page, {
            transition: 'flip',
            changeHash: false,
            reverse: true,
            showLoadMsg: true
        });
    }

        function DoNothing() { }

        function CaricaDettagliClienteDetail(J) {
            //  J = JSON.stringify(J);
            J = JSON.parse(J);
            $("#txtDetailCliCognome").text(J.Cognome);
            $("#txtDetailCliNominativo").text(J.Nominativo);
            $("#txtDetailCliIndirizzo").text(J.Indirizzo);
            $("#txtDetailCliEmail").text(J.Email);
            $("#txtDetailCliCitta").text(J.Citta);
            $("#txtDetailCliCellulare").text(J.Cellulare);
            $("#txtDetailCliTelefono").text(J.Telefono);
        }


        function CaricaDatiDetailIMG(data) {
            var codAnn = $("#hidCodRapportino").val();
            var ico;
            var img;
            $("#divDetailIMG").empty('');

            //img = img.replace('\\', '//').replace('ICO', '');

            var x, txt = "";//aggiungo IMG
            for (x in data) {
                var ico = urlCartellaIMG + "//" + codAnn + "//" + data[x];
                var img = ico.replace('ICO', '');

                txt += "<img  onclick='OpenPopIMG(`" + img + "`)' src='" + ico + "'>";
            }

            $("#divDetailIMG").html(txt);
        }
        function GoHEad() {
            $.mobile.changePage("#page1");
        }
        function getToNextPage() {
            $.mobile.changePage("#page2");
        }



        function ScaricaDatiUser() {
            var codAnag = $("#hidCodAnagrafica").val();
            if (codAnag == '')
            {
                Messaggio('you must login to see your ads');
                return;
            }

            s = document.createElement("script");
            //var Category = $('#cbbSearchCategory option:selected').val();

            s.src = urlSito + "/scriptWS.aspx?func=CaricaDatiListaUser&OnErr=Messaggio&modo=ListaUser&codAnag=" + codAnag 
            //alert(s.src);
            document.body.appendChild(s);
        }

       //#region Customer
        function VaiCustomers()
        {
            if (ControlloLoggato()==false){return;};

            GoPage('#PageListCustomer');
            CaricaCustomers();
     }

        function CaricaCustomers()
        {
                  s = document.createElement("script");

                  var  RCodDitta = $('#hidCodDitta').val();

            s.src = urlSito + "/scriptWS.aspx?func=CustomersList&OnErr=Messaggio&modo=GetCustomers&CodDitta=" + RCodDitta;
            //alert(s.src);
            document.body.appendChild(s);
        }
        function CustomersList(data) {
            $('#DTCustomersList').DataTable({
                destroy: true,
                data: data,
                "columns": [
                    { "data": "Cognome" },
                    { "data": "Nominativo" },
                    {
                        "data": "CodAnagrafica",
                        "mData": function showIMGLista(data, type, dataToSet) {
                            var J = JSON.stringify(data);
                            var CodAnagrafica = data.CodAnagrafica;
                            return "<img src='IMG\\Detail.jpg'  onclick='OpenDetailCustomer(" + CodAnagrafica + ");'>";
                        }
                    },
                ]
            });
        }
       function OpenDetailCustomer(CodAnagrafica)//dal principale annuncio carico tutto
       {

            s = document.createElement("script");
           s.src = urlSito + "/scriptWS.aspx?func=CaricaCurstomerDetail&OnErr=Messaggio&modo=GetDetailAnag&CodAnagrafica=" + CodAnagrafica;

            document.body.appendChild(s);

               //$.mobile.changePage("#PageAddCustomer");       
       $(':mobile-pagecontainer').pagecontainer('change', '#PageAddCustomer', {
           transition: 'flip',
           changeHash: false,
           reverse: true,
           showLoadMsg: true
       });
        }
       function CaricaCurstomerDetail(J) {
            //  J = JSON.stringify(J);
           //J = JSON.parse(J);

            $("#txtInsCliCognome").val(J.Cognome);
            $("#txtInsCliNominativo").val(J.Nominativo);
            $("#txtInsCliIndirizzo").val(J.Indirizzo);
            $("#txtInsCliEmail").val(J.Email);
            $("#txtInsCliCitta").val(J.Citta);
            $("#txtInsCliTelefono").val(J.Cellulare);
           $("#txtInsCliCellulare").val(J.Telefono);

           $("#hidCodCustomer").val(J.CodAnagrafica);
        }
       function ConfirmDeleteCustomer()
        {
            bootbox.confirm("Are you sure?", function (result)
            {
                if (result) {
                    DeleteCustomer();
                }
            });
        }

        function DeleteCustomer()
        {
          var CodAnagrafica= $("#hidCodCustomer").val();

            s = document.createElement("script");
            s.src = urlSito + "/scriptWS.aspx?func=CaricaCustomers&OnErr=Messaggio&modo=DeleteCustomer&CodAnagrafica=" + CodAnagrafica;  
            document.body.appendChild(s);

            $.mobile.changePage("#PageListCustomer");        
        }
        function SaveCustomer()
        {
            if (ControlloSaveCustomer() == true)
            {

              var Cognome=      $("#txtInsCliCognome").val();
              var Nominativo=   $("#txtInsCliNominativo").val();
              var Indirizzo=    $("#txtInsCliIndirizzo").val();
              var Email=        $("#txtInsCliEmail").val();
              var Citta=        $("#txtInsCliCitta").val();
              var Cellulare=    $("#txtInsCliTelefono").val();
              var Telefono=     $("#txtInsCliCellulare").val();
              var CodAnagrafica= $("#hidCodCustomer").val();
              var RCodDitta =   $('#hidCodDitta').val();

                s = document.createElement("script");
                s.src = urlSito + "/scriptWS.aspx?func=DoNothing&OnErr=Messaggio&modo=SaveAnagrafica&CodAnagrafica=" + CodAnagrafica + "&Cognome=" + Cognome + "&Nominativo=" + Nominativo
                    + "&Indirizzo=" + Indirizzo + "&Email=" + Email + "&Citta=" + Citta + "&Cellulare=" + Cellulare + "&Telefono=" + Telefono + "&RCodDitta=" + RCodDitta+ "&Cliente=1";  
                document.body.appendChild(s);

                VaiCustomers();
                GoPage('#PageListCustomer');
            }
           // $.mobile.changePage("#PageListCustomer");        
        }
        function ControlloSaveCustomer() {
            $("#txtInsCliCognome").removeClass('inputObbligatorio');
            $("#txtInsCliCellulare").removeClass('inputObbligatorio')
            $("#txtInsCliNominativo").removeClass('inputObbligatorio')

            if ($("#txtInsCliCognome").val() == '') { $("#txtInsCliCognome").addClass('inputObbligatorio'); return false; }
            if ($("#txtInsCliCellulare").val() == '') { $("#txtInsCliCellulare").addClass('inputObbligatorio'); return false; }
            if ($("#txtInsCliNominativo").val() == '') { $("#txtInsCliNominativo").addClass('inputObbligatorio'); return false; }

            return true;
        }

        //#endregion


      function CaricaDatiListaUser(data) {
          caricaUserDatatable(data);
         }
        function ControlloLoggato() {
            var codAnag = $("#hidCodAnagrafica").val();
            if (codAnag == '') {
                Messaggio('you must login to manage ads');
                return false;
            }
        }
               .img-container { position: relative; }

                .img-container .top {
                  position: absolute;
                  top: 0;
                  left: 0;
                  z-index: 1;
                }

        .lblDesc {
            font-weight: bold !important;
        }

        .inputObbligatorio {
            border: 2px solid #ff0000 !important;
        }
         .auto-style1 {
             height: 25px;
         }
 <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>


    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css" />
    <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>






        <input type="hidden" id="hidCodAnagrafica" value="1"/>
        <input type="hidden" id="hidCodDitta"  value="1"/>

        <div data-role="panel" id="menuPanel" data-mini="true" data-rel="popup" style=" z-index: 1;" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-bars ui-btn-icon-left ui-btn-b" data-transition="pop">
            <h4>Menu</h4>
            <ul data-role="listview">
      <!--          <li><a href="#" style="color: #FFFFFF" onclick="ScaricaDatiUser();CaricaRapportino();GoPage('#PageList');">List Admin</a></li>
                 <li><a href="#" style="color: #FFFFFF" onclick="if (ControlloLoggato()==false){return;};GoPage('#PageYourAds');ScaricaDatiUser();">Your Report</a>s</li>-->
              <!--  <li><a href="#" style="color: #FFFFFF" onclick="if (ControlloLoggato()==false){return;};GoPage('#PageInsRep');">New Report</a></li>-->


                <li><a href="#" style="color: #FFFFFF" onclick="return VaiCustomers();">Customers</a></li>
               <!-- <li><a href="#" style="color: #FFFFFF" onclick="if (ControlloLoggato()==false){return;};GoPage('#PageInsRep');">Jobs</a></li>
                <li><a href="#" style="color: #FFFFFF" onclick="if (ControlloLoggato()==false){return;};GoPage('#PageInsRep');">Employees</a></li>-->

<!--                <li><a href="#" style="color: #FFFFFF" onclick="GoPage('#PageRegister');LoadCompanyNameResister();">Register</a></li>
                <li><a href="#" style="color: #FFFFFF" onclick="GoPage('#PageLogin');">Login</a></li>

                 <li><a href="#"  onclick='Website2APK.rateUs();'>Rate us</a></li>-->
                <!--<img src="img/head2.jpg" />-->
            </ul>
        </div>
        <!--panel-->



         <div data-role="page" id="PageListCustomer" style="background-color: #E5E7E9;">
            <h2>Customers</h2>
            <a href="#menuPanel" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-btn-icon-left ui-icon-bars">Menu</a>

                <table id="DTCustomersList" class="display" style="width: 100%">
                        <thead>
                            <tr>
                                <th>Surname</th>
                                <th>Name</th>
                                <th></th>
                            </tr>
                        </thead>
                    </table> 

             <input class="btn btn-primary" type="submit"  onclick="GoPage('#PageAddCustomer');" value="Add" />
         </div> <!--- PageListCustomer --->


        <div data-role="page" id="PageAddCustomer" style="background-color: #E5E7E9;">
            <h2>Customer</h2>
            <a href="#menuPanel" class="ui-btn ui-shadow ui-corner-all ui-btn-inline ui-btn-icon-left ui-icon-bars">Menu</a>

            <input type="hidden" id="hidCodCustomer" />
            <form id="frmAddCustomer">

             <table  style='border-collapse:collapse;' >
                    <tr>
                        <td>
                            <label class="lblDesc">Surname</label>
                        </td>
                        <td>
                            <input type="text"  id="txtInsCliCognome" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <label class="lblDesc">Name</label></td>
                        <td>
                             <input type="text"  id="txtInsCliNominativo" />
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <label class="lblDesc">Address</label></td>
                        <td>
                           <input type="text"  id="txtInsCliIndirizzo" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <label class="lblDesc">Email</label></td>
                        <td>
                           <input type="text"  id="txtInsCliEmail" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <label class="lblDesc">City</label></td>
                        <td>
                             <input type="text"  id="txtInsCliCitta" />
                        </td>
                    </tr>
                    <tr>
                        <td class="auto-style1">
                            <label class="lblDesc">Mobile Ph.</label></td>
                        <td class="auto-style1">
                            <input type="text"  id="txtInsCliTelefono" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <label class="lblDesc">Phone</label></td>
                        <td>
                            <input type="text"   id="txtInsCliCellulare" />
                        </td>
                    </tr>
                </table>

                <input class="btn btn-primary" type="submit" onclick="SaveCustomer();" value="Save" />
                <input class="btn btn-primary" type="submit"  onclick=" VaiCustomers();" value="List" />
            </form>



        </div> <!--- PageAddCustomer --->
sam
  • 11
  • 4
Amodio d c
  • 35
  • 6
  • 1
    you can't wrap pages in `
    ` pages and panels should be direct children to `body`. Also, to change pages in 1.4 use this: https://stackoverflow.com/questions/19174611/how-to-change-page-in-jquery-mobile-1-4-beta/19186330#19186330
    – Omar Aug 22 '19 at 13:43
  • Follow-up comment: Pages and _external_ widgets (e.g. panels, popups, etc) should be direct children to `body`. – Omar Aug 22 '19 at 13:56
  • YES, i updated the code, now it does not change the page, but it returns "error loading page" – Amodio d c Aug 23 '19 at 08:15
  • 1
    Try replacing `` with `a` or `button` or `prevent.Default()` on submitting and then attach `GoPage('#page')` and other functions to them. – Omar Aug 23 '19 at 09:49

0 Answers0