【发布时间】:2014-02-26 09:23:16
【问题描述】:
我需要从我的函数输出多个值并访问外部变量,放入输入隐藏和 POST 变量以启用从 php 访问数据。
数据来自多行表中的用户输入值,即多行计数,其他值来自数据库。
Javascript;
function validateForm() {
$('textarea.pc_1').each(function(event){
var thought= $(this).val();
$("input[name='status']").val(thought);
alert(status.value);
})
}
上面的 Javascript 函数可以警告多个值,但是当值发布到隐藏的输入时,只有单个值 POST 到 pc1_process.php。我只需要从此函数输出多个值并传递给隐藏的输入。从 pc1_process.php 上的 POST 访问此值。
pc1.php
<script type="text/javascript">
function validateForm() {
$('textarea.pc_1').each(function(event){
var thought= $(this).val();
$("input[name='status']").val(thought);
alert(status.value);
})
}
</script>
...
...
<form name="myForm" id="contact" method="post" action="../lpc/pc1_process.php" onsubmit="return validateForm()">
<table id="tftable" class="MyTable" style="font-size:12px; color:#333333; width:100%; border-width: 1px; border-color: #729ea5; border-collapse: collapse;" border="1" >
<thead>
<tr style="background-color:#acc8cc;">
<td style="font-size:12px; border-width: 1px; padding: 8px; border-style: solid; border-color: #729ea5;">Issues</td>
<td style="font-size:12px; border-width: 1px; padding: 8px; border-style: solid; border-color: #729ea5;">Notes <br></td>
<td style="font-size:12px; border-width: 1px; padding: 8px; border-style: solid; border-color: #729ea5;">Status <br></td>
</tr>
</thead>
<?php
if ($info6['datetime_submit'] != null){
$alert_null = "";
$check11 = mysql_query("select *
from (
select * from page1_table union all
select * from page2_table
) t
where t.submit = 'No' AND t.userid = '".$_SESSION['userid']."'") or die(mysql_error());
while($row = mysql_fetch_array($check11)) {
?>
<tr style="background-color:#d4e3e5;">
<td style="font-size:12px; border-width: 1px; padding: 8px; border-style: solid; border-color: #729ea5;"><?php echo $row["issues"];?></td>
<td style="font-size:12px; border-width: 1px; padding: 8px; border-style: solid; border-color: #729ea5;"><?php echo $row["notes"];?></td>
<td style="font-size:12px; border-width: 1px; padding: 8px; border-style: solid; border-color: #729ea5;">
<textarea class="pc_1" style="border: none;border-color: Transparent;overflow: auto;width: 100%;height: 100%;background-color:#d4e3e5;resize: none; "></textarea>
</td>
</tr>
<?php }
}?>
</table>
<br><br>
<input type="hidden" id="status" name="status"/>
<input style="float: right;" type="image" <?php echo $disabled?> src=<?php echo $button_off?> onMouseOver="this.src='../images/submit_button_on.png'" onMouseOut="this.src='../images/submit_button_off.png'">
</form>
pc1_process.php
<?php
$status = isset($_POST['status'])?filter_input(INPUT_POST, 'status', FILTER_SANITIZE_STRING):"";
echo($status);
?>
【问题讨论】:
-
我能否建议您重新考虑一下您计划验证的方式。最好在 pc1_process.php 中发布所有内容并在它到达时对其进行验证。在您的 pc1_process 文件中也有您期望的密钥数组,不允许验证您不期望的密钥。
标签: javascript php jquery html sql