[PHP] Come far funzionare un form di selezione

webMood

Nuovo Utente
1 Mar 2018
8
0
1
Ciao a tutti, chiedo supporto in quanto ho creato un form di selezione (http://www.vip-fan.it/homepage-new/selezione-prodotto-serie-se/?) che però non è funzionante. So di dover inserire l'action.php, ma non conoscende php, non saprei cosa inserire. Vi spiego la funzionalità che deve avere: selezionando "motore 1, motore 2..." e cliccando cerca, deve aprirsi il file pdf di riferimento in una nuova finestra del browser.
Qualcuno può aiutarmi?
Grazie in anticipo!
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao
la selezione deve essere una <select>, 2<button> o come vuoi impostarli?
Basterebbe fare un normale <a>
HTML:
<a target="_blank" href="url-1">Motore 1</a>
<a target="_blank" href="url-2">Motore 2</a>

In alternativa fai una cosa del genere.
HTML:
<select id="tipo_motore">
  <option value="url_pdf1">Motore 1</option>
  <option value="url_pdf2">Motore 2</option>
</select>
<script>
    $(function(){
      $('#tipo_motore').on('change', function () {
          var url = $(this).val();
          if(url) {
              window.open(url);
          }
          return false;
      });
    });
    </script>
 
Ultima modifica:

webMood

Nuovo Utente
1 Mar 2018
8
0
1
se dovessi inserire come nel tuo suggerimento, mi resterebbe un'elenco di motore1, motore2...etc..cliccabili, ma in realtà ho ma necessita di fare un select con pulsante cerca, ma non so come collegare i singoli pdf alle voci motore 1, motore 2 etc...
attualmente la struttura è questa:
<form action="/action_page.php">
<table cellpadding="0" cellspacing="0" style="border:0;">
<tr>
<td style="border:0;">
<select id="motori">
<option value="Motore 1">
<option value="Motore 2">
<option value="Motore 3">
<option value="Motore 4">
<option value="Motore 5">
</select>
</td>
<td style="border:0;">
<input type="submit" value="cerca">
</td>
</tr>
</table>
</form>


la tabella mi serve solo per renderla poi graficamente più presentabile.
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Scusa ho aggiornato tardi il post :D.
Comunque una cosa del genere
<select id="tipo_motore"> <option value="url_pdf1">Motore 1</option> <option value="url_pdf2">Motore 2</option> </select> <script> $(function(){ $('#tipo_motore').on('change', function () { var url = $(this).val(); if(url) { window.open(url); } return false; }); }); </script>
 

webMood

Nuovo Utente
1 Mar 2018
8
0
1
Ho provato ad inserirlo ma non funziona, sicuramente sbaglio qualche cosa io..così mi rimane le due scritte sopra cliccabili e il menu a tendina che non clicca da nessuna parte
 

webMood

Nuovo Utente
1 Mar 2018
8
0
1
rettifico, con lo script sembra meglio, ma se inserisco l'url del mio pdf in "value" comunque non funziona. Mi apre una pagina di errore 404.
 

webMood

Nuovo Utente
1 Mar 2018
8
0
1
scusa se scrivo a "pizzichi e bocconi", ma sto testando ora il form. Ho scoperto che quello che faceva apparire la pagina era un action che avevo lasciato per errore le tag <form>. Ora che l'ho eliminato non apre nulla. Fai conto che sto lavorando su Wordpress. Ho il timore che l'aver inserito lo script assieme al codice html nel widget non sia la cosa giusta.
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao
ti condivido la mia soluzione ma molte volte mi complico anche io la vita anche per piccolezze, quindi resta a te valutare se utilizzarla o trovare un altro sistema.

Form:
HTML:
<form name="select_motore">
    <select name="motore" onchange="selezioneMotore(this)">
        <option value="" selected disabled> Seleziona Motore </option>
        <option value="http://url1.com"> Motore 1 </option>
        <option value="http://url2.it"> Motore 2 </option>
    </select>
    <input type="hidden" name="set_value" id="set_value">
    <input type="hidden" name="set_text">
</form>
<button onclick="sendMotore()">Ricerca</button>


nel file function.php del tema vai ad aggiungere le 2 funzioni.
PRIMA DI FARE MODIFICHE E' SEMPRE BENE FARE UN BACKUP DEL FILE


Codice:
function selezioneMotore(valori){
    var f = document.select_motore;
    f.set_value.value = valori.options[valori.selectedIndex].value;
    f.set_text.value = valori.options[valori.selectedIndex].text;
}
function sendMotore(){
    var element_selected = document.getElementById('set_value').value;
    if(element_selected != ''){
        window.open(element_selected);
    }else{
        alert('Devi prima selezionare un motore!');
    }   
}


Fammi sapere
 

bubino8

Utente Attivo
28 Apr 2017
360
20
28
31
BZ
Ciao @macus_adi
io sono dell'idea che meno plugin si installano meglio è, anche se pur leggeri. In ajax sarebbe anche una soluzione ma andrei comunque a farmi solo la funzione specifica comunque senza dover installare plugin.
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Scusa, ma select2 serve ad avere metodi già pronti, poi naturalmente viene bindata una chiamata in ajax con qualsiasi framework...
Si può fare anche senza, ma senza framewok sotto bisogna scrivere un pò di più, e gestire bene .on("change")...
Per la cronaca invece di usare Jquery, si potrebbe utilizzare Vue, più leggero! ;)
 
  • Like
Reactions: bubino8

webMood

Nuovo Utente
1 Mar 2018
8
0
1
Ed io invece non ci sto capendo più nulla, perdonatemi ma le mie conoscenze oltre html sono proprio limitate. Seguendo ciò che mi aveva consigliato Bubino8 sembrerebbe che l'unica cosa che manca sia il file php action che faccia funzionare la selezione e mi permetta di aprire i pdf. Mi sapete dire che codice devo inserire?
 

macus_adi

Utente Attivo
5 Dic 2017
1.343
91
48
IT/SW
Riprendendo ciò che ha scritto @bubino8 , già dovrebbe essere funzionante, se invece non vuoi il pulsante potresti scrivere la logica al cambiamento del valore della select.

WP- Utilizza jQuery, quindi senza inventarci la ruota:

<select name="motore" id="motore">
<option >Seleziona Motore</option>
<option value="http://url1.com" data-url='url'> Motore 1 </option>
<option value="http://url2.it" data-url='url'> Motore 2 </option>
</select>
Utilizzando senza form uscirebbe una cosa del genere:
Codice:
$(document).ready(function(){
    var select=$('#motore');
   select.on('change',function(e){
        var current=$( "#motore option:selected" ).data('url');
        window.open(current);
       e.stopImmediatePropagation();
    });
});
 
Discussioni simili
Autore Titolo Forum Risposte Data
Monital [PHP]Far riconoscere stringa o numerico epr creazione campo tabella PHP 6
M [PHP] Far rimanere biffata checkbox dopo aggiornamento pagina PHP 24
Bryan [PHP] Far mostrare tutte le tabelle contenenti in un database PHP 2
C [PHP] DEVO FAR SPUNTARE SOLO LE CONSONANTI DI UNA STRINGA PHP 1
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
G Ciclo if php per far comparire un pulsante solo nel caso in cui una variabile sia 0 PHP 2
M Far partire una funzione/codice php con javascript Javascript 1
Mr. Alex D. Come far apparire un testo preimpostato in una casella di un form di uno script php? PHP 1
G Come far passare un valore attraverso il metodo POST utiliazzando PHP a jQuery PHP 4
P Problema: come far leggere unintero dvd da php e memorizzare il suo contenuto ???? PHP 38
T [PHP] inserire un file pdf da poter far scaricare... PHP 22
T Come far interagire pulsanti e codice php? PHP 1
S come far parlare javascript e php Ajax 1
G Come far fare redirect al form mail in php PHP 3
G come si fa a far girare le pagine PHP su Apache? PHP 1
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5

Discussioni simili