Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Enviar variables .POST y mostrar resultado en .DIALOG

Estas en el tema de Enviar variables .POST y mostrar resultado en .DIALOG en el foro de Frameworks JS en Foros del Web. Hola a todos, compañeros foreros, Acudo a ustedes por un problema que me ha surgido. Soy programador PHP y con algún que otro conocimiento en ...
  #1 (permalink)  
Antiguo 31/05/2012, 03:11
 
Fecha de Ingreso: mayo-2012
Ubicación: ISLAS CANARIAS
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
Enviar variables .POST y mostrar resultado en .DIALOG

Hola a todos, compañeros foreros,

Acudo a ustedes por un problema que me ha surgido. Soy programador PHP y con algún que otro conocimiento en JS, pero me estoy adentrando en el lado JQuery. Ahora mismo tengo un problema.

Tengo la intención de programar un JS que cuando se haga click en un botón de una web determinada, se cree un .dialog y este envíe, mediante .post o .ajax pero method post, unas variables a una web PHP, la cual recojerá estas variables y mostrará en el .dialog esa misma web PHP, porque deberá interpretar las variables recogidas. Tras finalizar ese proceso, la web PHP mostrará un botón para cerrar el .dialog, o, el propio .dialog se cerrará automáticamente tras llegar al final del proceso.

La put-ada, no se como hacerlo. Tengo claro como hacer el .dialog, pero no consigo hacer el .post o .ajax para que envíe las variables y muestre en el mismo .dialog el proceso de la web PHP.

Algun ejemplo o ayudita¿?

Muchas gracias de ante mano.
  #2 (permalink)  
Antiguo 02/06/2012, 11:42
Avatar de Pablo Ayala  
Fecha de Ingreso: septiembre-2005
Ubicación: Cancún, México
Mensajes: 231
Antigüedad: 18 años, 6 meses
Puntos: 28
Respuesta: Enviar variables .POST y mostrar resultado en .DIALOG

carga en un div oculto la pagina donde mandas el post, asi:

Estilo:
Código CSS:
Ver original
  1. #midiv{
  2.  display:none;
  3. }

Div donde se cargara:
Código HTML:
Ver original
  1. <div id="midiv"></div>

Archivo remoto (que se cargara por load)
Código PHP:
Ver original
  1. <input type="hidden" name="miinput" id="miinput" value="<?php echo elvalor; ?>" />

Código Javascript:
Ver original
  1. $("#midiv").load("lapagina.php", function(){
  2.      var valor = $("#midiv #miinput").val();
  3. });


Espero haberme explicado...

Un saludo
__________________
Atentamente,

Pablo Ayala.
Si vas a responder algo en el foro que sea con amabilidad.
  #3 (permalink)  
Antiguo 04/06/2012, 06:35
 
Fecha de Ingreso: mayo-2012
Ubicación: ISLAS CANARIAS
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Enviar variables .POST y mostrar resultado en .DIALOG

Se supone que en ciertas webs existirá un botón HTML con un parámetro "onclick".

Al hacer click debe mostrar una alerta si no hay texto seleccionado, pero si lo hay debe abrir un .dialog el cual será el archivo PHP clipper.php ubicado en un servidor fijo, y que recibirá, mediante POST, las variables indicadas (Texto Seleccionado, URL, Título de web).

Por GET me funciona perfectamente pero tiene las limitaciones propias del GET, y no puedo tener dichas limitaciones.

Adjunto ejemplo de clipper.php (fichero receptor de variables),fichero clipper.js (fichero con JQuery), y fichero clipper.html (fichero con boton llamador):

Código Javascript:
Ver original
  1. function QJ()
  2. {
  3.     x = document.createElement('div');
  4.     x.appendChild(window.getSelection().getRangeAt(0).cloneContents());
  5.  
  6.     var urlclip   = 'http://www.*******.com/clipper.php';
  7.     var style     = '-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;border:5px #000000 solid;box-shadow:3px 3px 3px #000;z-index:1000;background:#fff;';
  8.     var divid     = 'UT'+Math.round(Math.random()*100);
  9.     var head      = document.getElementsByTagName('head')[0];
  10.  
  11.     var jquery    = document.createElement('script');
  12.     jquery.type   = 'text/javascript';
  13.     jquery.src    = 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js';
  14.  
  15.     var jqueryui  = document.createElement('script');
  16.     jqueryui.type = 'text/javascript';
  17.     jqueryui.src  = 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js';
  18.  
  19.     head.appendChild(jquery);
  20.     head.appendChild(jqueryui);
  21.  
  22.     jquery.onload = function()
  23.     {
  24.         jqueryui.onload = function()
  25.         {
  26.             $('<div id="'+divid+'"></div>').dialog(
  27.             {
  28.                 autoOpen:   true,
  29.                 id:         divid+'dialog',
  30.                 title:      "Clipper",
  31.                 width:      480,
  32.                 height:     300,
  33.                 modal:      true,
  34.                 resizable:  false,
  35.                 buttons:
  36.                 {
  37.                     "close":
  38.                     {
  39.                         text:  'close this clipper',
  40.                         click: function()
  41.                         {
  42.                             $(this).dialog('close');
  43.                         }
  44.                     }
  45.                 }
  46.             }).width(480).height(300).css(style);
  47.  
  48.             $.ajax(
  49.             {
  50.                 url:      urlclip,
  51.                 dataType: 'text',
  52.                 type:     'POST',
  53.                 data:
  54.                 {
  55.                     u:location.href,
  56.                     q:escape(x.innerText),
  57.                     t:escape(document.title)
  58.                 },
  59.                 success:function(data_resultado)
  60.                 {
  61.                     $('#'+divid).empty().html(data).dialog('open');
  62.                 }
  63.             });
  64.         }
  65.     }
  66. }
Código PHP:
Ver original
  1. <?php
  2.  
  3. $userid = islogin();
  4.  
  5. echo "<form name='select' method='POST' action='clipper.php'>";
  6. echo "<input type='text' name='title' value='".$_POST['t']."'><br>";
  7. echo "<input type='hidden' name='url' value='".$_POST['u']."'><br>";
  8. echo "<textarea name='texto'>".$_POST['t']."'></textarea><br>";
  9. echo "<input type='submit' name='send' value='send'>";
  10. echo "</form>";
  11.  
  12. ?>
Código HTML:
Ver original
  1. <button name="clipper" onclick="javascript:function%20U(){var%20head=document.getElementsByTagName('head')[0];var%20script=document.createElement('script');script.type='text/
  2. javascript';script.src='http://0.0.0.0/clipper.js';head.appendChild(script);script.onload=function(){QJ();};};U();">clipper</button>
  3. </body>
  4. </html>

Un saludo.

Etiquetas: ajax, dialog, jquery, php, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:31.