Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2019, 03:50
ivanchu83
 
Fecha de Ingreso: abril-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Pasar variable de javascrip a php

Hola he visto por aqui como poder hacerlo, pero no me funciona, no se si es exacto el problema que expongo solo pasar una variable pero lo explico.
Tengo un formulario en el cual se valida en javascrip y dependiendo lanza un mensaje en una etiqueta label. Os paso el codigo a ver si podrias guiarme un poco
En PHP
Código:
$output .= '<form class="w3-container w3-row">';
	
$output .= '<div class="w3-col">';
$output .= '<label id="fname_resp">' . esc_html__( 'First Name', 'resales-marbella-wp-plugin' ) . '</label><i id="fname_success" class="fas fa-check" style="display: none"></i>';
$output .= '<input id="M1" class="w3-input w3-border w3-round" type="text" placeholder="'.$placeholderNombre.'" required>';
$output .= '</div>';

$output .= '<div class="w3-col">';
$output .= '<label id="lname_resp">' . esc_html__( 'Last Name', 'resales-marbella-wp-plugin' ) . '</label><i id="lname_success" class="fas fa-check" style="display: none"></i>';
$output .= '<input id="M2" class="w3-input w3-border w3-round" type="text" placeholder="'.$placeholderApellidos.'" required>';
$output .= '</div>';

$output .= '<div class="w3-col">';
$output .= '<label id="phone_resp">' . esc_html__( 'Phone', 'resales-marbella-wp-plugin' ) . '</label><i id="phone_success" class="fas fa-check" style="display: none"></i>';
$output .= '<input id="M3" class="w3-input w3-border w3-round" type="text" placeholder="'.$placeholderTLF.'" required>';
$output .= '</div>';
	
$output .= '<div class="w3-col">';
$output .= '<label id="cemail_resp">' . esc_html__( 'Email address', 'resales-marbella-wp-plugin' ) . '</label><i id="cemail_success" class="fas fa-check" style="display: none"></i>';
$output .= '<input id="M5" class="w3-input w3-border w3-block" type="email" placeholder="Email" required>';
$output .= '</div>';

$output .= '<div class="w3-col">';
$output .= '<input type="checkbox" id="verificacion" name="verificacion" value="1" />'.$privacidad.'<a href="'.$enlace.'" target="_blank" style="text-decoration:underline">'.$privacidad2.'</a>';
$output .= '<label id="check_resp"></br>' . esc_html__('') . '</label><i id="check_success" class="fas fa-check" style="display: none"></i>';

$output .= '</div>';	
$output .= '</form>';
$output .= '<div class="w3-container w3-row">';
$output .= '<label>&nbsp;</label>';
	
$output .= '<button class="w3-button w3-dark-grey w3-block" onclick="prop_ask();">' . esc_html__( 'CLICK TO INQUIRE', 'resales-marbella-wp-plugin' ) . ' <i class="fas fa-paper-plane"></i></button>';
$output .= '</div>';
$output .= '</div>';
En JS la funcion prop_ask()
Código:
function prop_ask() {
    var M1 = document.getElementById("M1").value;
    var M2 = document.getElementById("M2").value;
	var M3 = document.getElementById("M3").value;
    var M5 = document.getElementById("M5").value;
	var verificacion = document.getElementById("verificacion").checked;
    var fname_resp = document.getElementById("fname_resp");
    var lname_resp = document.getElementById("lname_resp");
	var phone_resp = document.getElementById("phone_resp");
    var cemail_resp = document.getElementById("cemail_resp");
	var check_resp = document.getElementById("check_resp");
	
    M1 = M1.trim();
    M2 = M2.trim();
	M3 = M3.trim();
    M5 = M5.trim();
    var letters = /^[A-Za-z]+$/;
	var numbers = /^([0-9]+){9}$/;//<--- con esto vamos a validar el número
	//var expresionRegular2=/\s/;//<--- con esto vamos a validar que no tenga espacios en blanco
    var emails_addr = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    var trig = 0;
	
	
	if (verificacion!=true){
		//alert("Debes aceptar los términos y condiciones");
		//var condicion = "false";
		//document.getElementById("check_resp").value = condicion;
		document.getElementById("check_resp").innerHTML = "You must accept the privacy policy";
		document.getElementById("check_resp").style.color = "red";
		document.getElementById("check_success").style = "display:none";
	}else{	
		document.getElementById("check_resp").value = "true";
		if (M3 === "" || !numbers.test(M3)){
				//alert('campo es obligatorio');
				//alert(M3.value); 
				//alert('Numero de telefono incorrecto');
				document.getElementById("phone_resp").innerHTML = "Please fill in";
				document.getElementById("phone_resp").style.color = "red";
				document.getElementById("phone_success").style = "display:none";
			}else{
				

					if (M1 === "") {
						fname_resp.innerHTML = "Please fill in";
						fname_resp.style.color = "red";
						document.getElementById("fname_success").style = "display:none";
					}else{
							if (M1.match(letters)) {
								trig++;
								fname_resp.innerHTML = "First Name";
								fname_resp.style.color = "grey";
								document.getElementById("fname_success").style = "display:inline;color:green";
							}else{
								fname_resp.innerHTML = "Please type your first name";
								fname_resp.style.color = "red";
								document.getElementById("fname_success").style = "display:none";
							}
					}
					if (M2 === "") {
						document.getElementById("lname_resp").innerHTML = "Please fill in";
						document.getElementById("lname_resp").style.color = "red";
						document.getElementById("lname_success").style = "display:none";
					}else{
							if (M2.match(letters)) {
								trig++;
								lname_resp.innerHTML = "Last Name";
								lname_resp.style.color = "grey";
								document.getElementById("lname_success").style = "display:inline;color:green";
							}else{
								lname_resp.innerHTML = "Please type your last name";
								lname_resp.style.color = "red";
								document.getElementById("lname_success").style = "display:none";
							}
					}
					if (M5 === "") {
						document.getElementById("cemail_resp").innerHTML = "Please fill in";
						document.getElementById("cemail_resp").style.color = "red";
					}else{
							if (M5.match(emails_addr)) {
								trig++;
								cemail_resp.innerHTML = "Email address";
								cemail_resp.style.color = "grey";
								document.getElementById("cemail_success").style = "display:inline;color:green";
							}else{
								cemail_resp.innerHTML = "Please type your email";
								cemail_resp.style.color = "red";
								document.getElementById("cemail_success").style = "display:none";
							}
					}

						if (trig===3) {
								document.getElementById("roh_contact").style = "display:none";
								document.getElementById("roh_contact_chk").style = "display:block";
								document.getElementById("M1_2").innerHTML = M1;
								document.getElementById("M2_2").innerHTML = M2;
								document.getElementById("M3_3").innerHTML = M3;
								document.getElementById("M5_2").innerHTML = M5;
								document.getElementById("tit_resp").innerHTML = "PLEASE CHECK YOUR DETAILS";
						}
				}
		}	
}
Lo que necesito realmente es saber si no esta marcada la casilla de verificacion pasarle por variable a Php y almacenarla para poder cambiar el texto que se muestra en js solo en ingles, quisiera pasarlo en una variable y ya en php dependiendo del idioma cambiar ese texto en la etiqueta label.
Ejemplo
if (verificacion!=true){
//alert("Debes aceptar los términos y condiciones");
//var condicion = "false";
//document.getElementById("check_resp").value = condicion;
document.getElementById("check_resp").innerHTML = "You must accept the privacy policy";
document.getElementById("check_resp").style.color = "red";
document.getElementById("check_success").style = "display:none";
}
en la parte de arriba lo que esta en comentario es como estaba intentando pasarlo por variable, y en el doc de php recogerl con $valor = $_POST["check_resp"];
pero no recoge nada, si alguien puede ayudarme se lo agradeceria mucho
Muchas gracias de antemano