2016-05-18 6 views
0

Ich habe ein PHP-Snippet, das die Tabellenzeile dynamisch anzeigt. In jeder Zeile gibt es ein Optionsfeld mit "Ja" und "Nein" -Option.Wie deaktiviert man Tabellenzeilen mit JS und fügt die gewählte Option in MYSQL ein?

Ich habe eine JS-Funktion erstellt, wenn der Benutzer eine Option auswählt, wird eine Pop-Box angezeigt.

Wenn der Benutzer die Option "Ja" in der Optionsschaltfläche auswählt und in der Pop-Box auf "OK" klickt, wird die Tabellenzeile deaktiviert, auch der Optionsschalter wird deaktiviert. Und die gewählte Option wird in MYSQL gespeichert.

Wie speichere ich die gewählte Option in MySQL?

Mein JS-Snippet zum Deaktivieren einer Zeile funktioniert nicht. Wie behebe ich das?

PHP:

echo '<td id="resumeFile"><a href="' . $dir . $file . '">Download Resume</a></td>'; 
     echo '<td id="radioOption"> 
        <label for="Yes">Yes</label> 
        <input type="radio" id="processedOptionYes" name="processedOption" value="Yes" onclick="proccessedCheck()"/> 
        <label for="No">No</label> 
        <input type="radio" id="processedOptionNo" name="processedOption" value="No" onclick="proccessedCheck()"/></td>'; 

JS:

function proccessedCheck(){ 
    var checked = null; 
    var inputs = document.getElementsByName('processedOption'); 
     for (var i = 0; i < inputs.length; i++){ 
      if (inputs[i].checked) { 
      checked = inputs[i]; 
      break; 
      } 
     } 

    if(checked == null){ 
     return false; 
    } else if (checked == true){ 
      document.getElementById("resumeFile").disabled = true; 
      document.getElementById("radioOption").disabled = true; 
      document.getElementById("resumeFile").title = "This option has been disabled."; 
    } else { 
     return confirm('You have chosen '+ checked.value + ', is this correct?'); 
    } 
} 
+0

sein muss Ich denke, Sie müssen die Formularelemente in der Tabellenzeile deaktivieren. –

+0

was meinst du? Ich muss die Tabellenzeile deaktivieren, wenn der Benutzer auf die Schaltfläche Ja in dieser Zeile klickt. – User014019

+0

Ich gehe davon aus, dass die Optionsfelder in der Tabellenzeile deaktiviert werden sollen. Ist das korrekt? –

Antwort

1

Ok also, wenn Sie die ganze Tabelle von PHP sind echo'ing nur die Parameter in die

Tabelle voreingestellt
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 

<body> 
<script src="https://code.jquery.com/jquery-2.2.3.min.js" integrity="sha256-a23g1Nt4dtEYOj7bR+vTu7+T8VP13humZFBJNIYoEJo=" crossorigin="anonymous"></script> 
<script> 
function proccessedCheck(id,answer) { 
    if (confirm('You have chosen '+ id +': '+ answer + ', is this correct?')) { 
     $("#processedOptionYes"+id).attr('disabled',true); 
     $("#processedOptionNo"+id).attr('disabled',true); 
     var withlink = $("#resumeFile"+id).html(); 
     var withoutlink = $(withlink).html(); 
     $("#resumeFile"+id).html("").append(withoutlink); 
     $("#input1".val(id); 
     $("#input2".val(answer); 
     $("#myform").submit(); 

    }  
} 
</script> 

<!-- EDIT: hidden form to submit --> 

<form id="myform" method="POST" action="savedb.php"> 
    <input type="hidden" id="input1" name="id" /> 
<input type="hidden" id="input2" name="answer" /> 
</form> 


<table> 
    <tr> 
    <?php 
$dir=""; 
$file=""; 
$id = 0; 
//foreach($array as $row) { 
    $id++; 
    echo '<td id="resumeFile'.$id.'"><a href="' . $dir . $file . '">Download Resume</a></td>'; 
     echo '<td id="radioOption> 
        <label for="Yes">Yes</label> 
        <input type="radio" id="processedOptionYes'.$id.'" name="processedOption" value="Yes" onclick="proccessedCheck('.$id.',\'Yes\')"/> 
        <label for="No">No</label> 
        <input type="radio" id="processedOptionNo'.$id.'" name="processedOption" value="No" onclick="proccessedCheck('.$id.',\'No\')"/></td>'; 
//} 
        ?> 
    </tr> 
</table> 
</body> 
</html> 

Inhalt von savedb.php, ist dies nicht eine separate Datei

<?php 

// Check if my post array arrived, comment this line when u done 
echo "<pre>";print_r($_REQUEST);echo "</pre>"; die(); 

// Connect to DB 
// Build SQL insert string with $_REQUEST['id'] as the primary key 


?> 
+0

ich möchte nur eine native js verwenden – User014019

+0

Gehen Sie voran und verwenden Sie nativen Code, aber die von mir gepostete Lösung funktioniert. – johan

+0

aber, wie man den Wert der Radiooption in mysql einfügt? – User014019

0

Für den Anfang versuchen zu ersetzen:

 document.getElementById("resumeFile").disabled = true; 
     document.getElementById("radioOption").disabled = true; 

mit:

 document.getElementById("processedOptionYes").disabled = true; 
     document.getElementById("processedOptionNo").disabled = true; 
+0

es funktioniert nicht – User014019

+0

Ich habe versucht, den Code in JSFiddle, aber konnte nicht scheinen, um die Funktion ordnungsgemäß aufgerufen werden. Können Sie bestätigen, dass die Funktion an Ihrem Ende ordnungsgemäß aufgerufen wird, indem Sie oben auf der Funktion eine Alert-Anweisung anbringen? –

+0

es heißt richtig. Es gibt eine Warnmeldung, wenn der Benutzer auf "Ja" oder "Nein" klickt – User014019

Verwandte Themen