Tengo un formulario html con <input type='radio'>
<form action="results.php" method="post" enctype="multipart/form-data" onsubmit='return false'><br> <p>Have you ever turned a client down?</p> <div id="q_1"> <input type="radio" name="q1" id="q_1_yes" value="yes"> <label for="q_1_yes">Yes</label> <input type="radio" name="q1" id="q_1_no" value="no"> <label for="q_1_no">No</label> </div><br> <p>Are you comfortable with failure?</p> <div id="q_1"> <input type="radio" name="q2" id="q_2_yes" value="yes"> <label for="q_2_yes">Yes</label> <input type="radio" name="q2" id="q_2_no" value="no"> <label for="q_2_no">No</label> </div><br> <input type="submit" onclick='return handleClick();' name="sub_eit" id="sub_eit" value="Submit"> </form> Tengo una javascript function para verificar si la cantidad de botones de radio con valor "sí" es mayor que la cantidad con valor "no" como se muestra a continuación
function handleClick() { var amountYes = 0; for(var i = 1; i <= 4; i++) { var radios = document.getElementsByName('q'+i); for(var j = 0; j < radios.length; j++) { var radio = radios[j]; if(radio.value == "yes" && radio.checked) { amountYes++; } } } //code to perform php insert function if yes is less than or equal to 2 if (amountYes <= 2) { $.ajax({ type: "POST", url: "results.php", dataType: "json", success: function (response) { } }); } else { alert("Correct Responses: " + amountYes); } }resultados.php
if (isset($_POST['q_1']) && isset($_POST['q_2'])) { $q_1 = $_POST['q_1']; $q_2 = $_POST['q_2']; $yes = "yes"; $no = "no"; $id = $_SESSION['id']; $u_name = $_SESSION['uname']; $recommend = "Executive"; $osql =<<< EOF INSERT INTO results (id, recomend, u_name, status) VALUES ('$id', '$recommend', '$u_name', '1'); EOF; $ret = $db->exec($osql); } Pero el código ajax no parece funcionar. Por favor cual es el problema. Gracias de antemano por tu ayuda. Muy apreciado
Ha incluido datos de publicación en su solicitud de ajax.
$.ajax({ type: 'POST', url: 'results.php', data: $('form').serialize(), dataType: 'json', success: function( response){ console.log( 'the feedback from your result.php: ' + response); } });y en su resultado.php debe cambiar el nombre de $_POST['q_1'] a _POST['q1'] y así sucesivamente. q1 y q2 es el nombre de su radio de entrada.