JSFiddle - React, Tailwind, and code Playground

by Adrià Vilanova Martínez

HTML

<p><b>id</b>: "iddelalumno"_"id_cgap"_"aval"_"loe"_"convocatoria_loe"</p>
<p>Ejemplos:</p>
<ul>
    <li><b>iddelalumno</b>: 2267</li>
    <li><b>id_cgap</b>: 2367</li>
    <li><b>aval</b>: 56</li>
    <li><b>loe</b>: loe</li>
    <li><b>convocatoria_loe</b>: 1</li>
</ul>
<hr>
<p><b>id_etapa</b>: El ID de la etapa...</p>
<hr>
    <p><b>tipus_aval</b>: Ni idea, pero "n"="guardar nota" i "f"="guardar nota final curs"...</p>

    <button onclick="guardar_nota_final_resum('2267_2367_56_loe_1', 1, 'f')">Fire it!</button>
    
    <hr>
        
        <p><b style="color:blue;">JSON example!</b> {"m":"guardar_nota_final_curs","id_alumne":"2267","id_cgap":"2367","aval":"56","nota":10,"id_cicle_escolar":1,"loe":1,"convocatoria_loe":1}</p>

CSS

body {
    font-family: Arial;
}

JavaScript

// Función redefinida (le ponemos los datos que nos de la gana)

function guardar_nota_final_resum(id, id_etapa, tipus_aval){
	
	nota_final = 10; //obtenim la nota actual!
	dades = id.split('_');
	var tipus_avaluacio = "n";

	switch ( tipus_aval ) {
	
		default:
		case 'n':
			accio = 'guardar_nota';
			break;
		case 'f':
			accio = 'guardar_nota_final_curs';
			break;	
	}
	
	var es_loe = 0;
	var convocatoria_loe = 0;
	if(dades[3] == new String("loe")){
		//alert("ES LOE!");
		es_loe = 1;
		if(dades[4] == 1){
			convocatoria_loe = 1;
			//alert("LOE I FINAL");
		}
		else{
			convocatoria_loe = 2;
			//alert("LOE I EXTRA");
		}
	}
	
	alert(JSON.stringify({m: accio, id_alumne: dades[0], id_cgap: dades[1], aval: dades[2], nota: nota_final, id_cicle_escolar: id_etapa, loe: es_loe, convocatoria_loe: convocatoria_loe}));
	/*$.post("../admin/crida_guardar_notes.php", {m: accio, id_alumne: dades[0], id_cgap: dades[1], aval: dades[2], nota: nota_final, id_cicle_escolar: id_etapa, loe: es_loe, convocatoria_loe: convocatoria_loe}, function(data, state){
	
		if (state == 'success'){

			console.log(data);
		}
		else{
			//CRIDA POST incorrecte!
			alert('Modificació de la nota incorrecte');
		}
 	});*/ // Can't execute because it is in another host
}

// ¡Función original! (Funciona solo en la página)

/*function guardar_nota_final_resum(id, id_etapa, tipus_aval){
	
	nota_final = $('#nota_'+id).val(); //obtenim la nota actual!
	dades = id.split('_');
	var tipus_avaluacio = $('#tipus_avaluacio').val();

	switch ( tipus_aval ) {
	
		default:
		case 'n':
			accio = 'guardar_nota';
			break;
		case 'f':
			accio = 'guardar_nota_final_curs';
			break;	
	}
	
	var es_loe = 0;
	var convocatoria_loe = 0;
	if(dades[3] == new String("loe")){
		//alert("ES LOE!");
		es_loe = 1;
		if(dades[4] == 1){
			convocatoria_loe = 1;
			//alert("LOE I FINAL");
		}
		else{
			convocatoria_loe = 2;
			//alert("LOE I EXTRA");
		}
	}
	
	
	$.post("../admin/crida_guardar_notes.php", {m: accio,...