[PHP] Mettere placeholder

Shyson

Utente Attivo
19 Ago 2012
1.119
1
38
Questo è il codice php che ho in WordPress, vorrei mettere il placeholder nel campo email.
Mi spiego meglio: il placeholder appare già ma come $value, non come placeholder.

PHP:
// allow remote setting of email in form
        if ( isset( $_REQUEST['email'] ) && is_email( $_REQUEST['email'] ) ) {
            $value = $this->sanitize_email( $_REQUEST['email'] );
        } elseif ( 'true' === strtolower( $args['nojs'] ) ) {
            $value = '';
        } else {
            $value = __( 'Inserisci l'email...', 'subscribe2' );

// build default form
        if ( 'true' === strtolower( $args['nojs'] ) ) {
            $this->form = '<form name="s2form" method="post"' . $action . '><input type="hidden" name="ip" value="' . esc_html( $_SERVER['REMOTE_ADDR'] ) . '" />' . $antispam_text . '<p><label for="s2email">' . __( 'Tua email (non verrà pubblicata):', 'subscribe2' ) . '</label><br /><input type="email" name="email" id="s2email" value="' . $value . '" size="' . $args['size'] . '" />' . $wrap_text . $this->input_form_action . '</p></form>';
        } else {
            $this->form = '<form name="s2form" method="post"' . $action . '><input type="hidden" name="ip" value="' . esc_html( $_SERVER['REMOTE_ADDR'] ) . '" />' . $antispam_text . '<p><label for="s2email">' . __( 'Tua email (non verrà pubblicata):', 'subscribe2' ) . '</label><br /><input type="email" name="email" id="s2email" value="' . $value . '" size="' . $args['size'] . '" onfocus="if (this.value === \'' . $value . '\') {this.value = \'\';}" onblur="if (this.value === \'\') {this.value = \'' . $value . '\';}" />' . $wrap_text . $this->input_form_action . '</p></form>' . "\r\n";
        }
        $this->s2form = apply_filters( 's2_form', $this->form );
        }
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.038
146
63
PR
www.borgo-italia.it
ciao
se non vedo male quanto nello script (non conosco wp) mi sembra che tu stia confondendo il value con il placeorder
se in un campo di input metti
... value="' . $value . '" ...
quanto è nel value, se non correggi, è quanto viene trasmesso
se usi il placeorder (es)
...placeholder='pinco pallo'...
pinco pallo appare nella casella dell'input (quasi sempre in un colore più sbiadito) e quando ci posi il mouse scompare e se non scrivi nulla tale valore non viene trasmesso
non ho mai provato, ma credo che il value sovrascriva il placeorder (quindi in un certo senso sono incompatibili)
 

Shyson

Utente Attivo
19 Ago 2012
1.119
1
38
Si. Questo è il codice originale del plugin subscribe2. Come si può vedere dal sito, questo value fa il lavoro che dovrebbe fare il placeholder, con la differenza che quando inserisco l'emil rimane formattata come il value (Vedi colonna destra
"Richiedi una notifica per i nuovi articoli!"). Mentre invece la casella Cerca nel menù in alto ha il placeholder e difatti inserendo la parola si scrive con la formattazione del campo.
http://albenessereblog.altervista.org