Ir ao conteúdo
  • Cadastre-se

Dúvida sobre o dialog do Jquery-ui


MarcelinhoB

Posts recomendados

Então, to com uma pequena dúvida, tenho um formulário html

index.php


<div id="dialog-form" title="Criar novo Usuário">
<fieldset>
<form id="form" name="form" method="POST" action="php/validacao.php">
*Nome: <input type="text" id="nome" name="nome">
</form>
</fieldset>
</div>

<button id="create-user">Criar um novo usuário</button>

o div dialog-form eu chamo usando o dialog do jquery-ui, faço a chamada no arquivo funcs.js


$("#dialog-form").dialog(
{
autoOpen : false,
height : 400,
width : 600,
modal : true,
buttons : {
"Criar Usuário": function() {
bValid = true;

bValid = bValid && checkLength(nome, "nome", 3, 25);
if (bValid){
$("#form").submit();

$("#mNome").val($("#nome").val());
}
},
Fechar : function() {
$(this).dialog("close");
}
},
});

$("#create-user").button().click(function() {
$("#dialog-form").dialog("open");
});

E por fim tenho meu arquivo de validacao.php

Ai vem minha dúvida, no arquivo validacao.php gostaria de criar uma função pra bloquear o usuário de clicar no botão do dialog form, se houver algum campo inválido.

O meu problema é: qual o "ID" do botão no dialog-form?

Pretendo bloquear a ação do usuário com algo assim:


if(isset($_POST['ui-dialog-buttonpane button:contains('Finalizar')'])){
if ($problema = 1){
echo "Existem problema(s) no seu formulário. Por favor, corrija-os antes de continuar.";
}
}

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não entendi o que você quis fazer com o código do validação, mas você quer fazer a validação no PHP (server-side - até aí tudo certo - tem que fazer mesmo) mas bloquear um input do client-side?

A tarefa de bloquear os inputs deveria ser do Javascript. Na verdade, isso não impedirá o botão de ser clicado (uma vez que posso alterar os elementos diretamente no navegador).

O que você pode fazer é verificar no PHP, na hora que você for gerar o formulário, se houve algum erro você coloca o input como disabled.. mas, novamente, isso não impede o formulário de ser enviado..

<input type="submit" <?php if($problema) echo "disabled"; ?> /> 

Lembrando que, como você tem arquivos separados (1 arquivo do form, e outro arquivo de validação - o action do form) a variavel "$problema" não vai estar definido no primeiro.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...