Visualizzazione dei risultati da 1 a 6 su 6

Discussione: redirect via post

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    44

    redirect via post

    Ciao,
    volevo sapere se si può in qualche modo fare un redirect via post tramite javascript senza appoggiarsi ad un form presente nella pagina.

    ad esempio, c'è modo di modificare il metodo di invio dati di location.href?

    Oppure che so... fare un form dinamicamente solo per passare dei dati, tipo

    codice:
    form = new Form();
    form.method = post;
    form.action ="myurl";
    form.nomeParametro = "valore";
    form.submit();
    Giugallo

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    guarda se può andare:
    codice:
    //-------------------------------------------------------------------------------------
    // crea un form e fa submit passando dati post (predefinito) o get
    // utilizzo: 
    // w = window.open("", "popup", "left=100px, top=100px, width=500px, height=400px,");
    // w.focus();
    // submitData("a.aspx", {nome:'Pietro', numero:'999', data:'1/12/1999'} , "popup");
    // target: predefinito = _self
    // method: predefinito = post
    //-------------------------------------------------------------------------------------
    function submitData(url, data, target, method)
    {
    	if(!method) var method = "post";
    	var form = document.createElement("form");
    	form.action = url;
    	form.target = (target != undefined)? target: "_self";
    	form.method = method;
    	form.style.display = "none";
    	for(var key in data) addParam(form, key, data[key]);
    	document.body.appendChild(form);
    	form.submit();
    	document.body.removeChild(form);
    }
    
    //----------------------------------------------
    // aggiunge hidden ad un form
    //----------------------------------------------
    function addParam(form, key, value)
    {   
        if( typeof(form) == "string") 
            form = document.getElementById(form);
    	
    	var input = document.createElement("input");
    	input.type = "hidden";
    	input.name = key;
    	input.value = value;
    	form.appendChild(input);
    }
    Pietro

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    44
    grazie... è propio quello che cercavo!!
    Giugallo

  4. #4
    Utente di HTML.it L'avatar di jesus
    Registrato dal
    Jan 2002
    Messaggi
    717
    Ottimo script...

    Ma se io volessi rendere dinamica questa parte?
    codice:
    {nome:'Pietro', numero:'999', data:'1/12/1999'}
    Ciao.
    <%= Jesus %>
    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna" - Albert Einstein.

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Sinceramente non so cosa voglia dire rendere dinamica quella parte.

    Ti spiego come lo uso io.
    Molte volte ho la necessità aprire una pagina server in popup spedendo dei dati, magari uno o due TextBox della pagina.
    Perciò valorizzo la variabile data come un oggetto perchè mi pare semplice


    var data = {TextBox1:document.getElementById("TextBox1").valu e,
    TextBox2:document.getElementById("TextBox2).value
    };


    e la uso con quella funzione
    Pietro

  6. #6
    Utente di HTML.it L'avatar di jesus
    Registrato dal
    Jan 2002
    Messaggi
    717
    Originariamente inviato da pietro09
    Sinceramente non so cosa voglia dire rendere dinamica quella parte.

    Ti spiego come lo uso io.
    Molte volte ho la necessità aprire una pagina server in popup spedendo dei dati, magari uno o due TextBox della pagina.
    Perciò valorizzo la variabile data come un oggetto perchè mi pare semplice


    var data = {TextBox1:document.getElementById("TextBox1").valu e,
    TextBox2:document.getElementById("TextBox2).value
    };


    e la uso con quella funzione
    Intendevo dire se io non conoscessi a priori i campi del form. Comunque ho risolto così:
    codice:
    function posta(id) {
      var obj = document.getElementById(id);
      var data = new Array();
      data[obj.name] = obj.value;
    }
    Grazie per l'ottimo aiuto.
    <%= Jesus %>
    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna" - Albert Einstein.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.