Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Making a function affect a element in another page

I made a function that is invoked for the lack of better words from a page, lets call it Page1, the function is called when a button is clicked, at the end of said function it calls another one that creates (or should seeing I haven't been able to test it) a html and appends it to a div with a #lista id.

The problem is that this div is another page (Page2), so I don't know if there is some syntax like in ajax where you specify where you want those values to go, so basically page 1 calls a function (on another file just in case) that function calls another and the result of that function goes on Page1 (another file, again just in case)

Here is my jQuery/JS code to further illustrate:

$("#btnAceptar").click(function() {
   var idlab = $('#txtNumLab').val(),
   capacidad = $('#txtCapacidad').val(),
   carrera = $('#txtCarrera').val(),
   ubicacion = $('#txtUbicacion').val();


  var request = $.ajax({
    url: "includes/functionsLabs.php",
    type: "post",
    data: {

     'call': 'addLab',
     'pIdLab':idlab,
     'pCapacidad':capacidad,
     'pCarrera':carrera,
     'pUbicacion':ubicacion},

    dataType: 'json',

      success: function(response){
        alert('exito')

    agregar();        

     }
  });
});

This function should affect a element with id #Lista on Page2.

function agregar(){

 var div = $( "#lista" ).append( "<div class='box'>
          <p>Lab #'numero'</p>                                  
          <p class='info'><a href='#' id='lnkInfo'>Info</p></a>
          <p class='info'><a href='reservarLab.html'>Reservar</p></a>
      </div>" );



div.id = querySelectorAll('#lista > div').length +1;
var numero = div.id;  
$('#numero').append(div); 


}

Thanks a lot in advance!

like image 478
Code Grasshopper Avatar asked Jan 28 '26 19:01

Code Grasshopper


1 Answers

Yes you can get content from another page using jQuery:

Ajax request gets the entire file, but you can filter the content once it's retrieved:

$.ajax({
   url:href,
   type:'GET',
   success: function(data){
       $('#content').html(  $(data).find('#IDofDivToFind') );
   }
});

Second Approach (Untested)

You can use JQuery .load() method:

$( "#content" ).load( "ajax/test.html div#content" );

Reference:

http://api.jquery.com/load/

like image 86
XIMRX Avatar answered Jan 31 '26 10:01

XIMRX



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!