Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho um formulario com tres botôes do tipo submit:
>
Citar
<form1>
<input class="input" name="inserir" id= "inserir" value="Inserir como novo registro" type="submit">
<input class="input" name="alterar" id= "alterar" value="Alterar este registro" type="submit">
<input class="input" name="limpar" id= "limpar" value="Limpar formulario" onclick="Limpa_form();" type="button" >
</form>
tenho uma função jquery que é executada quando usuario clica no botao inserir novo registro:
$('#form1').on('submit', function(e) {
var xtitulo = this.titulo.value;
var xtexto = this.texto.value;
var xdata = this.data.value;
var xb_dados = this.b_dados.value;
var xautoria = this.autoria.value;
//$("#imagem").fadeToggle(625000);
var dados = jQuery( this ).serialize();
jQuery.ajax({
type: "POST",
url: "xinserir.php",
data: dados,
success: function( data ){
//alert("registro gravado");
$("#div_data").append(xdata);
$("#div_titulo").append(xtitulo);
$("#div_texto").append(xtexto);
$("#div_autoria").append(xautoria);
//$("#div_id").append(xid);
}
});
return false;
});
Porém quando usuário clicar no botão alterar registro, basicamente, a função seria a mesma, só que ao invés de inserir vai alterar.
Preciso pois capturar qual botão foi clicado.
Então imaginei que com o código abaixo eu conseguiria capturar o evento:
$(".alterar").click(function(){
porém não funciona, quando executo, simplesmente nem lê este código. Acho que isto tem a ver
porque o botão está dentro do form. Como faria para capturar o evento deste botão??
Também tentei colocar o código dentro da funcao que lê o formulario (o primeiro codigo acima):
acao = $(this).attr('name');
mas este codigo retorna o nome do formulário e não o nome do botão....
Você está definindo uma função para o SUBMIT do formulário, não importa de qual botão seja. Você tem 2 botões submit dentro de 1 form só.
Além disso, você está tentando pegar a ação do click pela class ".alterar" que não existe no seu botão, a classe que você está usando é a input. Neste caso altere de ".alterar" para "#alterar" que faz referência ao ID do botão.
Basta alterar o segundo para button apenas.
<button name="alterar" id="alterar" class="input">Alterar este Registro</button>