Tengo un botón de envío para mi formulario en mi archivo PHP como a continuación.
<input type="submit" name="submit" value="submit" disabled="true" />
Ahora envío una solicitud asincrónica usando un objeto de solicitud,
document.getElementById("username").onblur=function(){
username(this.value);
};
function username(value)
{
request = createRequest();
if(request==null) {
alert("Unable to create request");
return;
}
var url= "sign_up.php?value=" +
escape(value);
request.open("GET",url,true);
request.onreadystatechange = displayDetails;
request.send(null);
}
function displayDetails() {
if (request.readyState == 4) {
if (request.status == 200) {
checked = document.getElementById("check");
checked.innerHTML = request.responseText;
document.getElementById("submit").disabled="false";
}
}
}
Aquí básicamente está verificando la disponibilidad de un nombre de usuario, ahora habilito el botón enviar, si hay un nombre de usuario disponible. Pero realmente no está habilitando el botón. ¿Alguien puede decirme por qué?
3 respuestas
Deshágase de las comillas, lo que hizo fue asignar una cadena "falsa" al atributo disabled
del elemento HTML. Cambia la última línea a esto:
document.getElementById("submit").disabled = false;
Inhabilitar:
document.getElementById("submit").setAttribute('disabled', 'disabled');
Habilitar:
document.getElementById("submit").removeAttribute('disabled');
Versión jquery
$("#username").blur(function(){
$("#submit").attr("disabled","disabled");
$.ajax({
method: "GET",
dataType: "html",
url: "sign_up.php",
data: {
cmd: "check_username",
value: $(this).val()
},
success: function(data){
$("#check").html(data);
$("#submit").removeAttr("disabled");
},
error: function(){
$("#check").html("ajax error");
$("#submit").removeAttr("disabled");
}
});
});
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.