[JS] Disattivare / Attivare - Input Text

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve come da titolo come posso fare disattivare e attivare un input text della form?

codice:
Codice:
<input name="data" type="text"/>

idee?

Grazie mille e buona serata.
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Chiaramente devi legare le istruzioni ad un evento preciso, ma dovresti in generale poter fare così:

HTML:
//> Seleziono l'elemento di riferimento
var input = document.querySelectorAll('input[name="data"]');

//> Genero l'attributo di disabilitazione
var disabled = document.createAttribute("disabled");
//> Visto che usi la chiusura abbreviata deduco tu utilizzi xhtml, di conseguenza..
disabled.value = "disabled ";

//> Adesso assegnamo l'attributo all'input
input.setAttributeNode(disabled);


//> SE invece volessi rimuoverlo..
input.removeAttribute("disabled");
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ok, ma associato a un <a href=? come posso metterlo.

<a href="#" onclick="attiva();">Attiva</a>
<a href="#" onclick="Disattiva();">Disattiva</a>

idee?
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ok, funziona ma il codice php non funziona più.. dice che non trova inserita la data.

la form è composta cosi:

PHP:
<tr>
	<td>Data</td>
	<td><input name="data" type="text"  class="data_input_form"  disabled  value="<?php if(isset($_POST['data'])){echo $_POST['data'];}else { echo  "".date("Y-m-d H:i:s").""; }?>"  />
	<a href="javascript:void(0);" onclick="data_Attiva('input.data_input_form');">Attiva</a>
	<a href="javascript:void(0);" onclick="data_Disattiva('input.data_input_form');">Disattiva</a>
	</td>
</tr>

e il controllo della data è cosi:
PHP:
elseif(empty($dtmPubblicazione))
	{
	$error = "La data di pubblicazione non &egrave; stata inserita";
	}elseif(!isData($_POST["data"]))
	{
	$error = "La data deve avere il formato come segue : ".date("Y-m-d H:i:s")."";
	}

ovviamente c'è :
$dtmPubblicazione = protect($_POST["data"]);
in cima al codice.

la funzione protect è una funzione che mi pulisce i dati dai \ \ \ ..

idee perché il php non rileva i campi disabilitati?

Ti ringrazio molto e buona giornata.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
ciao, scusa se mi intrometto,
anch'io a suo tempo ho scoperto che php non riceve i campi disabilitati, penso che sia corretto,

forse vuoi impedire la modifica del campo in determinate condizioni, per questo puoi usare "readonly"

anche se la sezione è javascript, permettimi di postare il codice che uso per php (con js al minimo)

l'esempio tratta input testo, radio e checkbox



PHP:
  lock();        // oppure
  unlock();

  $ForMain.="<input type='text' name='txt1' value='".$txt1."'".$readonly." />";

  $ForMain.="<input type='radio' name='rd1' value='V' ".($rd1 == 'V' ? $RBs : $RBu)." /> LetteraV";
  $ForMain.="<input type='radio' name='rd1' value='S' ".($rd1 == 'S' ? $RBs : $RBu)." /> LetteraS";

  $ForMain.="<input type='checkbox' name='cbx1' value='X' ".($cbx1 == 'X' ? $CBs : $CBu)." /> check1<br />";
  $ForMain.="<input type='checkbox' name='cbx2' value='X' ".($cbx2 == 'X' ? $CBs : $CBu)." /> check2<br />";


function unlock() {
  global $readonly,$CBs,$CBu,$RBs,$RBu;

  $readonly = "";

  $CBs = "checked";
  $CBu = "unchecked";

  $RBs = "checked";
  $RBu = "unchecked";
}

function lock() {
  global $readonly,$CBs,$CBu,$RBs,$RBu;

  $readonly = " readonly";

  $CBs = 'checked onclick="this.checked=true"';
  $CBu = 'unchecked onclick="this.checked=false"';

  $RBs = 'checked onclick="this.checked=true"';
  $RBu = 'disabled';
}
 
Ultima modifica:

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
ciao, scusa se mi intrometto,
anch'io a suo tempo ho scoperto che php non riceve i campi disabilitati, penso che sia corretto,

forse vuoi impedire la modifica del campo in determinate condizioni, per questo puoi usare "readonly"

anche se la sezione è javascript, permettimi di postare il codice che uso per php (con js al minimo)

E' corretto, gli input disabilitati non vengono gestiti dal browser per l'invio del modulo.
Anche se la discussione è inquinata da codice PHP, il nocciolo della problematica credo ruoti ancora attorno ad una manipolazione dinamica del DOM per cui penso stia ancora bene in JS la discussione.

Piuttosto, prima di lanciarmi in ulteriori ipotesi vorrei chiederti come dovrebbe funzionare logicamente il tuo modulo, luigi777, per capire meglio cosa vuoi ottenere.
 

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
ciao, ok e vi ringrazio molto..

io volevo fare il modo che l'input data non venissine tocato .. e alcune volte se c'è bisogno volevo fare un click per attivarlo e mettere ad esempio la data 2014-06-01 20:07:00 cosi appena è il giorno ed che uno ha scritto la notizia,
si modifica e la mettiamo online anche se e stata scritta il 06 aprile 2014.

ti allego l'immagine.
 

Allegati

  • Modulo.JPG
    Modulo.JPG
    79 KB · Visite: 613
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Attivare / Disattivare utenze PHP 8
F Problema attivare/disattivare immagine calendario datepicker da select jQuery 1
G Disattivare-Attivare swf Flash 0
S Disattivare/Attivare musica pag web Javascript 1
shelbystudio cliente moroso: posso disattivare email e sito in attesa del pagamento? Leggi, Normative e Fisco 3
R Come disattivare Avvisidi scripting Photoshop 0
S Disattivare bottone Javascript 0
giusebos [PHP] radiobutton: disattivare specifico valore PHP 11
felino Disattivare gli annunci temporaneamente dell'area amministrativa Google AdSense 0
S Disattivare script Javascript 2
M Javascript: disattivare tasti Javascript 9
voldemort Disattivare account Facebook ed eliminare profilo per sempre Discussioni Varie 2
voldemort Come disattivare AVG Sicurezza e Virus 1
M Disattivare per sempre modem 56 k xp home Hardware 0
K Disattivare verbosità SqlPlus Oracle 0
M flash cs3 as 2.0 disattivare bottoni durante il caricamento di un swf esterno Flash 3
L disattivare bottone Javascript 0
B disattivare voci menu Classic ASP 3
M disattivare Azioni presenti all'interno di una clip Flash 4
B Disattivare voci Classic ASP 0
A Disattivare l'html - o meglio ancora l'invio di img in un form Classic ASP 12
A disattivare f11 Javascript 1
felino [Windows 8.1 Pro] Impossibile attivare/avviare Windows Defender Windows e Software 3
M attivare snmp su fedora php PHP 7
otto9due GDPR 25 Maggio - script per attivare analytics, facebook ecc.. dopo il consenso. jQuery 14
T [Javascript] funzione per attivare analytics... dov'è l'errore? Javascript 14
ecosito [PHP] Attivare il form mail di un template PHP 2
E [Javascript] SpryMenuBar da attivare con click Javascript 0
O Attivare compressione e caching del browser Web Server 6
Licantropo Come attivare la posta su un server Aruba? Posta Elettronica 14
A Attivare bottone solo dopo il riempimento di una JTextField Java 2
W Attivare un alert di un app Sviluppo app per Android 1
S Attivare APC su Apache (Windows x86) Apache 2
ivarello Attivare funzione Javascript con Jquery jQuery 0
J attivare sezioni sito scroll jQuery 1
I Attivare funzione da link in altra pagina Javascript 7
C Attivare un suono dello smartphone attraverso web app jQuery 5
C Non riesco ad attivare il sito in locale (nè in rete) - PHP / EasyPHP PHP 4
S dreamwever attivare comandi per gallerie fotografiche HTML e CSS 2
ivarello Attivare funzione con un link PHP 4
P Non riesco ad attivare l'account PHP 44
I attivare funzione su link al caricamento della pagina Javascript 6
D attivare permalink wordpress solo a post e pagine WordPress 2
K Attivare scrollbar del browser Flash 2
A attivare file dmg Supporto Mr.Webmaster 0
G Input checkbox in CSS HTML e CSS 0
L Ripetere Campi disabilitando input in riferimento ad un valore della select jQuery 0
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9
M Come recuperare molteplici input form PHP 1
F Lettura "input number" dinamico PHP 4

Discussioni simili