Ciao a tutti, come da titolo ho provato così ma non va.. forse sbaglio il nome dell'evento?
Script in allegato
Ciao a tutti, come da titolo ho provato così ma non va.. forse sbaglio il nome dell'evento?
Script in allegato
Onchange è per il tag select, usa onkeyup.
Il problema è che il value all'interno dell'input è un valore di una variabile che varia "da solo" e che non posso "scrivere" manualmente.. il js dovrebbe "leggere" da solo quel valore
Piuttosto che inserire il codice all'interno del tag input html, ti suggerisco di utilizzare una funzione javascript separata. Ne guadagni in leggibilità, riuso e manutenibilità.
onchange può essere usato per gli input text ma si applica al termine del cambiamento. Vedi esempio:
http://www.w3schools.com/jsref/tryit...sref_onchange2
Cosa intendi per "varia da solo"? Se definisci la funzione esterna puoi invocare tu la funzione in caso di modifica automatica.
"Varia da solo" nel senso che il value in questione è il risultato di un calcolo fatto con php (nell'esempio ho scritto value=2 per non ingigantire il discorso, in realtà al posto del 2 ho una variabile php) e vorrei abilitare il pulsante solo nel caso questo risultato è uguale a 2.
Ci ho riprovato (vedi allegato) ma non sono pratico con js
Se il valore dell'input viene generato da php, perchè non gestisci anche la proprietà del pulsante tramite php?
Php non modifica un dato ma lo genera, quindi il problema non deve essere trattato con js.
Codice PHP:
<?php
$contenuto = "valore_A";
print ("<input type=\"text\" value=\"".$contenuto."\" />");
// Determina, in base al contenuto di $contenuto, se l'input button deve essere disabilitato o meno
$disabled = "";
if ($contenuto =="valore_A")
$disabled = "disabled";
print ("<input type=\"button\" name=\"conferma\" id=\"conferma\" value=\"Conferma\" ".$disabled." />");
?>
Ultima modifica di LsKoder; 22-03-2015 a 17:45
Si si con php saprei come risolvere, ma cercavo un ritorno dei risultati "in tempo reale" senza ricaricare la pagina, per questo chiedevo se si potesse fare in js..
Php genera la pagina quindi non c'è alcun refresh. Il js si usa per gestire modifiche effettuate a seguito della generazione della pagina ma tu conosci il valore dell'input fin dalla generazione quindi non vedo alcun problema di realtime.
Il tuo approccio sarebbe corretto se la modifica di quel campo venisse effettuata dall'utente.
buttata giù di getto, non provata ma la logica con jquery dovrebbe essere questa
senza jquery la logica è la stessa, cambia la scritturaCodice PHP:
$(document).ready(function(){
$("#presenti").change(function(){ Disabilita() });
function Disabilita()
{
// leggi il valore
var valore = $("#presenti").attr('value');
stato='enabled';
if ( valore == 2 ) stato='disabled';
// qui inserisci abilita disabilita esempio
$("#nomebottone).attr("disabled", stato);
ciao
Marino