尝试将多重检查值传递到创建PDF文件的PHP文件中。
这是表单的HTML代码:
<tr>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Radiography (RT)" /></td>
<td style="padding-left:4px;">Radiography (RT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Ultrasonic (UT)" /></td>
<td style="padding-left:4px;">Ultrasonic (UT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Liquid Penetrant (PT)" /></td>
<td style="padding-left:4px;">Liquid Penetrant (PT)</td>
</tr>
<tr>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Magnetic Particle (MT)" /></td>
<td style="padding-left:4px;">Magnetic Particle (MT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Visual (VT)" /></td>
<td valign="middle">Visual (VT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Leak (LT)" /></td>
<td style="padding-left:4px;">Leak (LT)</td>
</tr>
<tr>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Eddy Current (EC)" /></td>
<td style="padding-left:4px;">Eddy Current (EC)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Infrared & Thermography (I&T)" /></td>
<td style="padding-left:4px;">Infrared & Thermography (I&T)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Acoustic Emission (AE)" /></td>
<td style="padding-left:4px;">Acoustic Emission (AE)</td>
</tr>
这里我使用一些验证并将值传递给我的变量:
var checkBoxes=document.getElementsByName("afchek[]");
var booleanResult=false;
for(var i=0;i<checkBoxes.length;i++){
if(checkBoxes[i].checked){
booleanResult=true;
break;
}
}
if(booleanResult==false){
showError($afchek);
ok = false;
}
在这里,我将我的值传递给另一个创建pdf文件的php文件:
$.ajax({
type: 'POST',
url: 'pdf/create_ASNT.php',
data: 'afname=' + $afname.val() + '&affname=' + $affname.val() + '&afdob=' + $afdob.val() + '&afage=' + $afage.val() + '&afgender=' + gender + '&afresaddress=' + $afresaddress.val() + '&afresmobile=' + $afresmobile.val() + '&afresemail=' + $afresemail.val() + '&afstat=' + $afstat.val() + '&afmobile=' + $afmobile.val() + '&afemail=' + $afemail.val() + '&afchek[]=' + checkBoxes + '&afenroll=' + $afenroll.val() + '&aftimecontact=' + $aftimecontact.val() + '&page1=ASNT-NDT-form.php',
success: function(){
$afsuccess.fadeIn();
$aferror.fadeOut();
}
这里我正在检索查询字符串值:
$afname=ucfirst($_REQUEST["afname"]);
$affname=ucfirst($_REQUEST["affname"]);
$afdob=ucfirst($_REQUEST["afdob"]);
$afage=ucfirst($_REQUEST["afage"]);
$afgender=ucfirst($_REQUEST["afgender"]);
$afresaddress=ucfirst($_REQUEST["afresaddress"]);
$afresmobile=ucfirst($_REQUEST["afresmobile"]);
$afresemail=ucfirst($_REQUEST["afresemail"]);
$afstat=ucfirst($_REQUEST["afstat"]);
$afmobile=ucfirst($_REQUEST["afmobile"]);
$afemail=ucfirst($_REQUEST["afemail"]);
//our problem here
$afchek=ucfirst($_REQUEST["afchek"]);
$afenroll=ucfirst($_REQUEST["afenroll"]);
$aftimecontact=ucfirst($_REQUEST["aftimecontact"]);
现在我无法打印刚刚从该文件传递的值。我尝试了以下所有的事情......
for($i=0;$i<count($afchek);$i++) {
// $selected_colors=$selected_colors . $colors[$i] . " , ";
$pdf->Cell(54, 0, $afchek[$i]);
}
$acco = count($afchek);
$pdf->Cell(54, 0, $acco);
$acco = count($_GET["afchek"]);
$pdf->Cell(54, 0, $acco1);
foreach($_GET["afchek"] as $valuer) {
$pdf->Cell(54, 0, $valuer);
}
请有人帮忙解决这个问题。
答案 0 :(得分:0)
改为使用POST supper全局变量。
e.g。
ucfirst($_POST["afname"]);
或者,尝试序列化数据并将其传递给您的php文件。
类似的东西:
$("#Your_Form_ID").on("submit",function(){
postdata = $('#Your_Form_ID').serialize();
$.ajax({
type: 'POST',
url: 'pdf/create_ASNT.php',
data: postdata ,
success: function(res){
$afsuccess.fadeIn();
$aferror.fadeOut();
}
});
在您的PHP文件中:
$afname=ucfirst($_POST["afname"]);
希望有所帮助。
答案 1 :(得分:0)
我不知道你想要实现什么,但这是工作示例:这将打印您在PHP文件中提交的值。也尝试使用jquery。
<form action="formaction.php" id="form">
<table>
<tr>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Radiography (RT)" /></td>
<td style="padding-left:4px;">Radiography (RT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Ultrasonic (UT)" /></td>
<td style="padding-left:4px;">Ultrasonic (UT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Liquid Penetrant (PT)" /></td>
<td style="padding-left:4px;">Liquid Penetrant (PT)</td>
</tr>
<tr>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Magnetic Particle (MT)" /></td>
<td style="padding-left:4px;">Magnetic Particle (MT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Visual (VT)" /></td>
<td valign="middle">Visual (VT)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Leak (LT)" /></td>
<td style="padding-left:4px;">Leak (LT)</td>
</tr>
<tr>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Eddy Current (EC)" /></td>
<td style="padding-left:4px;">Eddy Current (EC)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Infrared & Thermography (I&T)" /></td>
<td style="padding-left:4px;">Infrared & Thermography (I&T)</td>
<td style="padding-left:4px;"><input style="margin-top:0px; cursor:pointer;" type="checkbox" name="afchek[]" value=" Acoustic Emission (AE)" /></td>
<td style="padding-left:4px;">Acoustic Emission (AE)</td>
</tr>
<tr>
<td><input type="submit" name="submit" value="submit"></td>
</tr>
</table>
</form>
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="main.js"></script>
以下是您提交表单的方式,它会提醒您提交的价值。
$(document).ready(function(){
$("#form").on("submit",function(event){
event.preventDefault();
postdata = $('#form').serialize();
$.ajax({
type: 'POST',
url: 'formaction.php',
data: postdata,
success: function(res){
alert(res);
}
});
});
});
这是您的PHP文件:返回通过表单提交的内容,并在您的ajax请求成功时提醒它。
<?php
//formaction.php
$afname=$_POST["afchek"];
foreach ($afname as $key => $afname) {
echo ucfirst($afname);
}
?>
现在您可以按照自己的方式使用此值。
演示链接:http://dharmeshpatel.net/core_reporting_api/test.php
希望有所帮助。不完全按照你想要的方式,但你会得到一个想法。