Visualizzazione risultati 1 fino 4 di 4

Discussione: Attributo form per input text

  1. #1
    topdeskle non è connesso Utente giovane
    Data registrazione
    12-03-2012
    Messaggi
    42

    Predefinito Attributo form per input text

    Ciao a tutti, vorrei fare in modo che tramite un form che contiene semplicemente un solo input text che all'invio indirizza ad un sito tramite url che è costituito dal valore indicato dall'utente.

    Per capire meglio faccio un esempio.
    1) Prendiamo in considerazione il link: altervista.org
    2) Vorrei che all'invio del form mi invia a altervista.org?p=connect:contenuto-input-text

    In pratica io vorrei quello che avviene nel punto due. C'è l'URL principale, si aggiunge ?p=connect: e poi il contenuto dell'input text.

    Io ho provato a farlo tramite la funzione "name" ma non mi permette di aggiungere =connect:. Ovvero, io ho fatto in questo modo:
    Codice:
    <form method="get" action="http://ilsitoinquestion.it" target="_blank">
    <input id="contenuto" type="text" name="p=connect:"  />
    <input type="submit" value="Invia" />
    </form>
    Ma purtroppo in questo modo il link viene tradotto così dal browser:
    Codice:
    www.ilsitoinquestione.it?p%3Dconnect%3Acontenuto+input+testo
    invece quello che vorrei che facesse è:
    Codice:
    www.ilsitoinquestione.it?p=connect:valore+input+text
    Per ovviare a questo problema ho pensato di fare in modo che "connect:" sia presente nell'input text come default ma non vorrei che viene cancellato dall'utente e dopo il sistema non funziona.

    Quindi mi chiedevo: Qualcuno è in grado di riuscirmi a sistemare il codice per fare in modo che tramite form all'invio del modulo la forma dell'URL sia la seguente:
    Codice:
    www.ilsitoinquestione.it?p=connect:valore+input+text
    Grazie in anticipo.
    Ultima modifica di topdeskle : 03-10-2014 alle ore 16.28.16

  2. #2
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    quando esegui il submit , il file PHP riceve il nome del campo ed il suo valore

    file.php?campo=valore

    quindi se non vuoi agire nel file php ,devi modificare il testo prima dell'invio

    come prima cosa disabilita il submit (event.preventDefault()) quindi assegni una funzione al pulsante , che "aggiusta" in base alle tue esigenze la stringa e poi esegue il submit

    ad esempio puoi usare

    Codice:
    document.getElementById("myForm").action = "file.php?p=connect:stringa";

  3. #3
    topdeskle non è connesso Utente giovane
    Data registrazione
    12-03-2012
    Messaggi
    42

    Predefinito

    Ciao, grazie per la tempestiva risposta ma in parole più semplici cosa dovrei fare :D?

    edit: per una cosa più semplice stavo pensando.. è per caso possibile bloccare solo una parte dell'input text? Nel senso che una parte rimane bloccata e nell'altra è possibile scrivere.

    Per esempio.
    Codice:
    <input type="text" value="connect:">
    E' possibile bloccare "connect:" ma permettendo comunque all'interno dello stesso input text, scrivere?
    Ultima modifica di topdeskle : 03-10-2014 alle ore 16.53.25

  4. #4
    NLSweb non è connesso Altervistiano Junior
    Data registrazione
    17-01-2014
    Messaggi
    658

    Predefinito

    esempio con jQuery

    1) disabilitare l'azione base del submit
    Codice:
    $("#mioFORM").submit(function( event ){
      event.preventDefault();
     });
    2) creare la funzione di controllo
    Codice:
    function controllo(){
     var valore = $("#contenuto").val();
     valore = "connect:"+valore;
     $("#contenuto").val(valore);
     $("#mioFORM").unbind('submit').submit();
    }
    3) codice HTML
    Codice HTML:
    <form id="mioFORM" method="get" action=".......la tua azione...." >
    <input id="contenuto" type="text" name="p"  />
    <button onclick="controllo()">Invia</button>
    </form>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •