Foros del Web » Programando para Internet » Javascript »

Enviar Campos con javaScript

Estas en el tema de Enviar Campos con javaScript en el foro de Javascript en Foros del Web. tengo un script en php que me crea imputs dinamicamente, de la siguiente manera tipo hidden name=cont[] y id=cont[] value="" Como no puedo terminar la ...
  #1 (permalink)  
Antiguo 17/10/2008, 17:58
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Enviar Campos con javaScript

tengo un script en php que me crea imputs dinamicamente,
de la siguiente manera tipo hidden name=cont[] y id=cont[] value=""

Como no puedo terminar la cantidad debido a que el usuario las va cargando una por una...

La idea es tomar estos valores con Java Script... para enviarlos por ayax...

lo que necesito saber es como tomo los valores de cont[] y los meto en variables para enviarlos...

Gracias...
  #2 (permalink)  
Antiguo 17/10/2008, 21:30
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Respuesta: Enviar Campos con javaScript

quieres enviarle aphp un array de este elemento?
name=cont[] y id=cont[] value=""
__________________
gerardo
  #3 (permalink)  
Antiguo 18/10/2008, 07:34
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Enviar Campos con javaScript

Exactamente... eso es lo que quiero...

Y no se como hacerlo...
  #4 (permalink)  
Antiguo 18/10/2008, 08:32
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Enviar Campos con javaScript

Si bien entendi!, esto te puede servir:

Código PHP:
var cadenaFormulario ""
var sepCampos
sepCampos 
""
for (var i=0<= Formulario.elements.length-1;i++) 
            {
             
cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURI(Formulario.elements[i].value);
             
sepCampos="&";
            } 
Es para que en javascript crees la cadena de los input de un formulario que enviaras por POST en ajax

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 18/10/2008, 08:46
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Enviar Campos con javaScript

Los imput no los tengo dentro de una etiqueta FORM y de hecho no puedo hacerlo, debido a que existe un Formulario para otra cosa... por eso me estoy perdiendo...

aver te publico aca, mas om enos loq ue tengo, lo que pasa es que es muy largo...

Primero, tengo divs creados automaticamente por php con un ID dinamico para cada, dentro de cada div, tengo info de la base de datos un un imput hidden con el name y id... cont[]...

Estos divs, tienen la funcionalidad de Drag and Drop que al arrastrarlos a otro div... de nombre ... dropBox toma el valor del div arrastrado... contenido y ID del div... entonces tengo que hacer una funcion que me tome los id de los div o de los imput, cualquiera de las dos cosas me serviria....

Pongo parte del codigo... aqui...

asi traigo los div....

Código PHP:
<div id="drgas" onclick="var dragDropObj = new DHTMLgoodies_dragDrop();
<? while($row mysql_fetch_array($query)){ ?>
dragDropObj.addSource('box<? echo $row['id']; ?>',true);
<? 

?>

dragDropObj.addTarget('dropBox','dropItems');
dragDropObj.init();" >

    <div class="columnaVinculos">
    <?
    $p
->show();
    while(
$fila mysql_fetch_array($queryDivs)){
    
?>
        <div class="muestraContactoDrag" id="box<? echo $fila['id']; ?>">
        <? echo $fila['nombre']; ?>
         </div>
    <?
    
}

    
$p->show();

   
?>
    </div>
    
</div>
Y esta funcion hace hace que cuando arrastro uno de los div al div "dropContent" me muestre elc ontenido...

Código PHP:
<script type="text/javascript">
function 
dropItems(idOfDraggedItem,targetId,x,y)
{
    var 
html document.getElementById('dropContent').innerHTML;
    if(
html.length>0){
    
html html '<br>';
    }
    
html html "<div class=nombreContacto >"document.getElementById(idOfDraggedItem).innerHTML +"- <span class=contactoAgregado > Contacto Seleccionado</span>[COLOR="Red"]<input name=cont[] type=hidden id=cont[] value="+idOfDraggedItem+" />[/COLOR]</div>";
    
document.getElementById('dropContent').innerHTML html;
}
</script> 
Puse en rojo el imput para que lo entiendand...

Entonces me quedaria un div...con todos los div que arrastro el usuario... y dentro de estos el imput hidden ....

Y me faltaria una funcion que al clikear sobre un item me tome esos valores y me los mande a un php que los procese y me muestre el resultado en el div donde estaba el usuario arrastrando los divs....
Algo asi..
Código PHP:
function xmlhttp(){
        var 
xmlhttp;
        try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
        catch(
e){
            try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
            catch(
e){
                try{
xmlhttp = new XMLHttpRequest();}
                catch(
e){
                    
xmlhttp false;
                }
            }
        }
        if (!
xmlhttp
                return 
null;
            else
                return 
xmlhttp;
    }
function 
invitarContactos(){
        var 
contactos document.getElementById('cont[]').value;
        var 
document.getElementById('dropBox');

        var 
ajax xmlhttp();
        
        
ajax.onreadystatechange=function(){
                if(
ajax.readyState==4){
                        
A.innerHTML ajax.responseText;

                    }
            }
        
ajax.open("GET","invitarContactos.php?total="+contactos,true);
        
ajax.send(null);
        return 
false;
    } 
Pero esto no me devuelve la cadena.... si no... solamente el primer div arrastrado...

Espero haberme dado a entender...

Gracias
  #6 (permalink)  
Antiguo 18/10/2008, 09:17
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Enviar Campos con javaScript

Todo ese codigo de arriba me inmagino que te funciona perfecto!, cierto?
El problema es como retomar todos los campos que estan al final en el contenedor?
Si es así te propongo que coloques un formulario afuera del div contenedor, para poder retomarlos de la forma que te digo.
En un mismo script pueden haber más de un form.

Espero haber entendido y ayudado! jeje

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 18/10/2008, 09:35
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Enviar Campos con javaScript

Si... pero lo que no puede haber es lo siguiente...

<form>
<form>
</form>
</form>

Esto no se puede... y como dije antes, tengo ya otro formulario, para otra cosa, que esta rodeando los divs... por ello, no puedo hacerlo asi...

Gracias por la ayuda...
  #8 (permalink)  
Antiguo 18/10/2008, 09:59
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Enviar Campos con javaScript

Bueno de ser así, lo que puedes hacer es recogerlos con lo que te he dado pero a los input le pones un prefijo que los identifique y agregas a lo que te di, la comparación con el prefijo, de contener el prefijo lo concatenas para ser enviado, de no ser así pasas al otro campo.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 19/10/2008, 01:29
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Respuesta: Enviar Campos con javaScript

puedes poner un ejmplo en linea para ver como trabaja y darte una opcion mas,
ahora tengo entendido que puede haber n.. forms pero obvio que a uno le tienes que decir
submit

saludos
__________________
gerardo

Última edición por chalchis; 19/10/2008 a las 02:01
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 12:50.