Ir para conteúdo

POWERED BY:

Arquivado

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

Helison Santos

simplificação de código javascript

Recommended Posts

Beleza pessoal, tudo bem?
Seguinte existe uma forma de simplificar o código abaixo, sem ter que criar cada variável para cada campo/input, existe uma forma de fazer uma especie de array dos campos, não sei se o termo seria esse.

$('#salvar_todos').click(function(){
	var id_cotacao = $('#id_cotacao').val();
	var id_cliente = $('#id_cliente_veiculo').val();
	var cobertura_tipo = $('#cobertura_tipo').val();
	var cobertura_tipo_cod  = $('#rcfv_compreensiva').val(); 
	var cobertura_franquia = $('#cobertura_franquia').val();
	var cobertura_danos_materiais = $('#cobertura_danos_materiais').val();
	var cobertura_danos_corporais = $('#cobertura_danos_corporais').val();
	var cobertura_danos_morais = $('#cobertura_danos_morais').val();
	var cobertura_morte_invalidez = $('#cobertura_morte_invalidez').val();
	var cobertura_percentual_fipe = $('#cobertura_percentual_fipe').val();
	var cobertura_assistencia_24h = $('#cobertura_assistencia_24h').val();
	var cobertura_carro_reserva = $('#cobertura_carro_reserva').val();
	var cobertura_vidros = $('#cobertura_vidros').val();

	$.ajax({
		url: 'includes/salva-dados-cobertura.php', 
		dataType: 'html',
		data: {
			id_cotacao:id_cotacao,
			id_cliente:id_cliente, 
			cobertura_tipo:cobertura_tipo,
			cobertura_tipo_cod:cobertura_tipo_cod,
			cobertura_franquia:cobertura_franquia,
			cobertura_danos_materiais:cobertura_danos_materiais,
			cobertura_danos_corporais:cobertura_danos_corporais,
			cobertura_danos_morais:cobertura_danos_morais,
			cobertura_morte_invalidez:cobertura_morte_invalidez,
			cobertura_percentual_fipe:cobertura_percentual_fipe,
			cobertura_assistencia_24h:cobertura_assistencia_24h,
			cobertura_carro_reserva:cobertura_carro_reserva,
			cobertura_vidros:cobertura_vidros
		},
		type: 'POST',
		beforeSend: function(){
			$('#carregandodadosfinais').fadeIn('slow');
		},
		success: function(data,textStatus) {
			$('#carregandodadosfinais').hide();
			$('#confirmacaofinais').fadeIn('slow');
			alert(data);
		},
		error: function(xhr,er) {
			$('#mensagem_erro').html('<p class="destaque">Error ' + xhr.status + ' - ' + xhr.statusText + '<br />Tipo de erro: ' + er +'</p>')
		}		
	});
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Boa Tarde! Sim existe, usando serialize no JS. Abaixo um exemplo:

<script type="text/javascript">
$("#salvar_todos").click(function(){
var dados_digitados = $("#formulario_test").serialize();
$.ajax({
	url : 'cadastrar.php',
	type : 'post',
	data : dados_digitados ,
	dataType:'html',
	success: function(retorno){
		alert('Cadastrado com Sucesso!');
	},
	error: function(erro){
		alert('Erro ao Cadastrar!');
	}
});

});
</script>

<form method="post" name="teste" id="formulario_test">
Digite seu nome <input type="text" name="nome">
Digite seu e-mail <input type="text" name="email">
<input type="submit" value="Cadastrar" id="salvar_todos">
</form>

Fiz um exemplo prático acima, se der algum erro, post pois não cheguei a testar, mas a função como pode ver é serialize(); pega todos os dados via POST digitado.

 

Espero ter Ajudado ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução:

$('#salvar-cliente').click(function(){
	var dadosclientes = $('#dados_clientes');
	$.ajax({
    	type: "POST",
    	url: $('#dados_clientes').attr('action'),
    	data: dadosclientes.serialize(),
    	beforeSend: function(){
			$('#carregandodadoscliente').fadeIn('slow');
		},
    	success: function(resposta) {
        	//$('#resposta').html(resposta);
        	$('#carregandodadoscliente').hide();
			$('#confirmacaocliente').fadeIn('slow');
			$('#id_cliente_veiculo,#id_cliente').val(data);
			$.cookie('id_cliente',data); 
      	},
		error: function(xhr,er) {
			$('#mensagem_erro_cotacao').html('<p class="destaque">Error ' + xhr.status + ' - ' + xhr.statusText + '<br />Tipo de erro: ' + er +'</p>')
		}
    });
});

Creio que, ainda pode ser simplificado, mais esse aqui foi a solução que achei, e funcionou muito bem, obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.