我需要帮助才能将正确的按钮发布到数据库中。但是在发布按钮的值时,我不知道调用$ _POST方法的内容。
我有一个应用程序,您可以查看here
请按照以下步骤使用申请表:
现在您将看到有2个表行,第一个表行的按钮'A'和'C'打开,第二行有按钮'B','D'和'F'打开。
我的问题是,我如何只支持那些仅打开按钮的那些(在上面的示例中它应该发布'A'和'C',它应该发布'B','D'和'F'?我需要写的$ _POST方法是什么?
下面是输出顶部控件和附加行中的字母按钮的代码:
顶部控制中的字母按钮
<table id="optionAndAnswer" class="optionAndAnswer">
<tr>
<th colspan="2">
Option and Answer
</th>
</tr>
<?php
$a = range("A","Z");
?>
<table id="answerSection">
<tr>
<?php
$i = 1;
foreach($a as $key => $val){
if($i%7 == 1) echo"<tr><td>";
echo"<input type=\"button\" onclick=\"btnclick(this);\" value=\"$val\" id=\"answer".$val."\" name=\"answer".$val."Name\" class=\"answerBtns answers answerBtnsOff\">";
if($i%7 == 0) echo"</td></tr>";
$i++;
}
?>
</tr>
<tr>
<td>
<input class="answerBtns answers answerBtnsOff" name="answerTrueName" id="answerTrue" type="button" value="True" onclick="btnclick(this);"/>
<input class="answerBtns answers answerBtnsOff" name="answerFalseName" id="answerFalse" type="button" value="False" onclick="btnclick(this);"/>
<input class="answerBtns answers answerBtnsOff" name="answerYesName" id="answerYes" type="button" value="Yes" onclick="btnclick(this);"/>
<input class="answerBtns answers answerBtnsOff" name="answerNoName" id="answerNo" type="button" value="No" onclick="btnclick(this);"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
下面是每行附加的字母按钮
function insertQuestion(form) {
var context = $('#optionAndAnswer');
var currenttotal = context.find('.answerBtnsOn').length;
var $tbody = $('#qandatbl > tbody');
var $tr = $("<tr class='optionAndAnswer' align='center'>");
var $td = $("<td class='extratd'>");
var $answer = $("<div class='answer'>3. Answer:<br/></div>");
var $this, i=0, $row, $cell;
$('#optionAndAnswer .answers').each(function() {
$this = $(this);
if(i%7 == 0) {
$row = $("<tr/>").appendTo($answer);
$cell = $("<td/>").appendTo($row);
}
var $newBtn = $("<input class='answerBtnsRow answers' type='button' style='display:%s;' onclick='btnclick(this);' />".replace('%s',$this.is(':visible')?'inline-block':'none')).attr('name', $this.attr('name')).attr('value', $this.val()).attr('class', $this.attr('class')).attr('id', $this.attr('id')+'Row');
$newBtn.appendTo($cell);
i++;
});
$tr.append($td);
$td.append($answer);
$tbody.append($tr);
}
下面是jquery函数,它打开和关闭按钮:
function btnclick(btn)
{
var context = $(btn).parents('#optionAndAnswer');
if (context.length == 0) {
context = $(btn).parents('tr');
}
var $btn = $(btn);
$(btn).toggleClass("answerBtnsOff");
$(btn).toggleClass("answerBtnsOn");
return false;
}
答案 0 :(得分:1)
作为我评论的后续内容,您可以尝试这样的事情:
每次按“回答”(其中一个数字值),您可以向表单中添加一个包含值和唯一标识符的隐藏输入:
$('.answerBtns').on('click', function() {
// when clicking an answer button, get the value, and id, since you'll need them
var btn = $(this);
var value = btn.val();
var id = btn.attr('id');
// is the button pressed and turned on?
if ($(this).hasClass('answerBtnsOff')) {
// append those values to the form
var input = '<input type="hidden" value="' + value + '" name="' + id + 'value" />';
$('#QandA').append(input);
// toggle the button
btn.removeClass('answerBtnsOff').addClass('answerBtnsOn');
// do the opposite - remove the input
} else {
$('#QandA').remove('#' + id + 'value');
btn.removeClass('answerBtnsOn').addClass('answerBtnsOff');
}
});
但是,您需要有一些方法来确定这些答案属于特定问题。例如,你可以为每个发送的问题使用一个计数器,并将其附加到字段的名称,因此对于第一个问题,它最终会像answerBid1
那样等等。
答案 1 :(得分:0)
关闭时将disabled属性添加到字段中。