我将此功能用作日历下拉菜单。我不知道如何编写php <inputtype ="text" ...
这是生成下拉列表的php函数。如何编写<inputtype="text"
语句?
对不起,我是PHP新手,我不知道该怎么做?
<?PHP
FUNCTION DateSelector($inName, $useDate=0)
{
/* create array so we can name months */
$monthName = ARRAY(1=> "January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October", "November", "December");
/* if date invalid or not supplied, use current time */
IF($useDate == 0)
{
$useDate = TIME();
}
/* make month selector */
ECHO "<SELECT NAME=" . $inName . "Month>'n";
FOR($currentMonth = 1; $currentMonth <= 12; $currentMonth++)
{
ECHO "<OPTION VALUE='"";
ECHO INTVAL($currentMonth);
ECHO "'"";
IF(INTVAL(DATE( "m", $useDate))==$currentMonth)
{
ECHO " SELECTED";
}
ECHO ">" . $monthName[$currentMonth] . "'n";
}
ECHO "</SELECT>";
/* make day selector */
ECHO "<SELECT NAME=" . $inName . "Day>'n";
FOR($currentDay=1; $currentDay <= 31; $currentDay++)
{
ECHO "<OPTION VALUE='"$currentDay'"";
IF(INTVAL(DATE( "d", $useDate))==$currentDay)
{
ECHO " SELECTED";
}
ECHO ">$currentDay'n";
}
ECHO "</SELECT>";
/* make year selector */
ECHO "<SELECT NAME=" . $inName . "Year>'n";
$startYear = DATE( "Y", $useDate);
FOR($currentYear = $startYear - 5; $currentYear <= $startYear+5;$currentYear++)
{
ECHO "<OPTION VALUE='"$currentYear'"";
IF(DATE( "Y", $useDate)==$currentYear)
{
ECHO " SELECTED";
}
ECHO ">$currentYear'n";
}
ECHO "</SELECT>";
}
?>
<HTML>
<BODY>
<FORM>
Choose a Date: <?PHP DateSelector( "Sample"); ?>
</FORM>
</BODY>
</HTML>
我的代码结束了。
提前谢谢。对不起,我是PHP 的新手
不需要为日期添加文本框。您可以通过连接发布的值来设置它们
$selected_date = $_POST['SampleYear'] . $_POST['SampleMonth'] . $_POST['SampleDay'];
--
如果你觉得有必要有一个带日期的<input type="text" />
,你可以使用jQuery
// in the head of your document
//this checks for when elements of date are changed
$(function() {
$('#SampleMonth').change(function(){ setSelectedDate();});
$('#SampleDay').change(function(){ setSelectedDate();});
$('#SampleYear').change(function(){ setSelectedDate();});
}
// this changes the text box to the values of the selects
Function setSelectedDate(){
var sel_month = $('#SampleMonth').val();
var sel_day = $('#SampleDay').val();
var sel_year = $('#SampleYear').val();
var new_sel_date = sel_year + "-" + sel_month + "-" + sel_day;
// note that this puts the date as YYYY-MM-DD, which is the proper way to insert into mysql. It can be set as MM/DD/YYYY, but then you would have to change it again after posting.
$('#purchasedate').val(new_sel_date);
}
// inside the form tags
<input type="text" id="purchasedate" name="invoice_date" value="" readonly="true" />
然后您可以通过过账值输入
$selected_date = $_POST['purchasedate'];
假设所选日期(以mysql格式)为:
$mysql_date=$_POST['SampleYear'].'-'.$_POST['SampleMonth'].'-'.$_POST['SampleDay'];
"Sample"是示例中$inName的值