我现在有一个问题,在我的mydate结束时,我已经把[],所以我可以有一个数组来处理,在另一页上,我有process.php.
在process。php中,我有foreach($_POST["mydate"] as $mydate ){
if($mydate != ''){
Date processed...etc etc....
}
如果我把[],它将存储它,但不会验证,如果我不把[],它将验证,但不发布?
任何想法吗?
<script type="text/javascript">
function checkdate(input){
var validformat=/^'d{2}'/'d{2}'/'d{4}$/ //Basic check for format validity
var returnval=false
if (!validformat.test(input.value))
alert("Invalid Date Format. Please correct and submit again.")
else{ //Detailed check for valid date ranges
var monthfield=input.value.split("/")[0]
var dayfield=input.value.split("/")[1]
var yearfield=input.value.split("/")[2]
var dayobj = new Date(yearfield, monthfield-1, dayfield)
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
else
returnval=true
}
if (returnval==false) input.select()
return returnval
}
function CheckDates(inputs)
{
var i, len;
if (inputs.length) {
len = inputs.length;
for (i = 0; i < len; i++) {
if (!checkdate(inputs[i])) return false;
}
return true;
}
return checkdate(inputs);
}
function add(tbl1) {
var tbl = document.getElementById(tbl1);
var rowCount = tbl.rows.length;
var row = tbl.insertRow(rowCount);
var colCount = tbl.rows[1].cells.length;
for(var i=0; i<colCount; i++) {
var newCell = row.insertCell(i);
newCell.innerHTML = tbl.rows[1].cells[i].innerHTML;
}
}
</script>
<form name "enter" action="enter.php" onSubmit="return Checkdate(this.mydate)" method="post">
<table id="day" border="1">
<tr><b>Valid date format:</b><br></tr>
<tr><td>
<input type="text" name="mydate" />
</table><br>
<input type="submit" value="submit" />
<input type="button" value="Add Row" onclick="add('day')"/>
</form>
编辑删除了空格,但仍然不起作用
如果有多个输入字段,名称必须是mydate[]
,因此它们被放置在一个数组中,并且在您的处理代码中有一个额外的空间…$_POST['mydate ']
不行,必须是$_POST['mydate']
编辑:这一行<input type="text" name="mydate" />
必须是<input type="text" name="mydate[]" />
试试这个构造:
foreach ($_POST["mydate"] as $mydate ) {
if(!empty($mydate) && !is_null($mydate)) {
}
}