我有带有可放置区域的表单:
<form>
<span id="error">
<!----Initializing Session for errors--->
<?php
if (!empty($_SESSION['error1'])) {
echo $_SESSION['error1'];
unset($_SESSION['error1']);
}
?>
</span>
<div class="projLeader">
<ol>
<li class="placeholder" name="projLeader" <?php if (isset($projLeader)) echo 'value="'.$projLeader.'"' ?>><div class="adding">Drop here</div></li>
<input type="hidden" name="projLeader" class="hiddenListInput1" required/>
</ol>
<input type = "submit" name ="submit" class="button" value = "Create Report" onclick="userSubmitted = true;"/>
</div>
</form>
一旦元素被放下,占位符“Drop here”将被删除。我正在通过这个 js 函数保存删除的数据:
var LISTOBJ1 = {
saveList: function() {
var listCSV = "";
$( ".projLeader li" ).each(function() {
if (listCSV === "") {
listCSV = $(this).text();
} else {
listCSV += "," + $(this).text();
}
$(".hiddenListInput1").val(listCSV);
});
}
}
所以我的问题是如何进行验证并且不允许用户提交空字段或带有“拖放到此处”占位符的字段,因为如果用户不添加任何内容并只按提交,我就会得到要打印的占位符。 我尝试通过发布数据并检查它是否为空来检查它是否为空:
$projLeader=$_POST['procLeader'];
if (empty($projLeader))
{
//setting error message
$_SESSION['error1'] = "Mandatory field(s) are missing, Please fill it again";
header("location: createProject2.php"); //redirecting to first page
}
那么如何进行验证呢?谢谢
最佳答案
当可转换
区域中没有转换
项目时,您的隐藏
字段将具有“转换此处”
值。因此,您的条件
应检查隐藏字段是否有无值
或隐藏字段是否具有“Drop here”
值,并且应考虑空白
.
注意:您的咒语在获取隐藏字段值时也是错误的。它必须是 projLeader
而不是 procLeader
。
请尝试使用以下修改后的 PHP 代码。
$projLeader=trim($_POST['projLeader']);
if (empty($projLeader) || $projLeader == "Drop here")
{
//setting error message
$_SESSION['error1'] = "Mandatory field(s) are missing, Please fill it again";
header("location: createProject2.php"); //redirecting to first page
}
并且必须在两个页面上放置 sesstion_start();
函数才能使用 $_SESSION
。
关于javascript - 提交表单时如何检查可放置区域是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40230834/