} function del(){ document.all.test.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex); } </script>
1、id如果重复了,你怎么区分那些对象?我理解的是你每行都有个日历控件,而日历控件根据id确定输入框,所以每个id都要有区别2、印象中js的字符串不能有换行,即不能var html = "<p> xx </p>";,如果要用写\n,var html = "<p>\nxx\n</p>",否则好像会出错3、2 & 1
你就知道怎么用了.
<input type="button" onclick="addline()" value="增加一行">
<table border="1" id="test" cellpadding="1" cellspacing="1">
<tr>
<td width="250">提醒项目 提醒时间 提醒邮件 </td></tr>
<tr>
<td colspan="3"><input size=10 type="text" name="tt[]"><input size=10 type="text" name="aa[]"><input size=10 type="text" name="bb[]"></td>
</tr>
</table>
<input value="bbccdd"type="submit">
</form>
<script>
function addline(content){
newline=document.all.test.insertRow();
newline.insertCell().innerHTML='<input size=10 type="text" name="tt[]"><input size=10 type="text" name="aa[]"><input size=10 type="text" name="bb[]"><input type="button" value="删除" onclick="del()"></tr>'
}
function del(){
document.all.test.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex);
}
</script>
下面怎么修改啊?<?php
date_default_timezone_set('Asia/Shanghai');
$tt[]=$_post["tt[]"];
$aa[]=$_POST["aa[]"];
$bb[]=$_POST["bb[]"];
$db=mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('test',$db);
$sql="insert into testmail(tt,aa,bb)values
('$tt','$aa','$bb')";
mysql_query("set names gb2312");
$result=mysql_query($sql,$db);
mysql_close();
echo "$tt[]";
?>
$aa=$_POST["aa"];
$bb=$_POST["bb"];
print_r($tt);
print_r($aa);
print_r($bb);
<input ... name="text1" .. />
<input ... name="text2" .. />
<input ... name="text3" .. />
<input ... name="text4" .. />
.
.
.
<input type="hidden" name="textcount" value="1" />每增加一个文本框这里就加1
再用循环读取:
$num=(int)$_POST["textcount"];//这里取得POST过来的文本框的数目
for($i=1;$i<=$num;$i++){
if($_POST["text$i"]!=""){
mysql_query("insert into .....",$conn);
}
}
这是我常用的手段.不知道对你有没用....
foreach($tt as $k => $v) {
mysql_query("insert into testmail (tt, aa, bb) values ('$v','{$aa[$k]}','{$bb[$k]}')");
}
date_default_timezone_set('Asia/Shanghai');
$tt=$_POST["tt"];
$aa=$_POST["aa"];
$bb=$_POST["bb"];$db=mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('test',$db);foreach($tt as $k => $v)
{
mysql_query("insert into testmail (tt, aa, bb) values ('$v','{$aa[$k]}','{$bb[$k]}')");
mysql_query("set names gb2312");
}
$result=mysql_query($sql,$db);
mysql_close();
?>
mysql_query("set names gb2312");
foreach($tt as $k => $v)
{
mysql_query("insert into testmail (tt, aa, bb) values ('$v','{$aa[$k]}','{$bb[$k]}')");} 建表的时候设置好字符集,类似
CREATE TABLE xx (
...
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
...
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />
<script type="text/javascript" src="js/calendar.js"></script>
<script type="text/javascript" src="js/calendar-zh.js"></script> <script type="text/javascript" src="js/calendar-setup.js"></script>
</HEAD>
<script>
function addline(content){
newline=document.all.test.insertRow();
newline.insertCell().innerHTML='
<input size=10 type="text" name="tt[]"><input size=10 type="text" name="aa[]" id="begin_date_b"><input type="reset" value="..."
onclick="return showCalendar('begin_date_b', 'y-m-d');">--------这行是在每增加的一行中加日历控件,加了这行就不能增加了,不加这行程序运行正常,不知应该怎么增加???
<input size=10 type="text" name="bb[]">
<input type="button" value="删除" onclick="del()"></tr>'
}
function del(){
document.all.test.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex);
}
</script>
<form action="bbccmail.php" method="POST">
<input type="button" onclick="addline()" value="增加一行">
<table border="1" id="test" cellpadding="1" cellspacing="1">
<tr>
<td width="250">提醒项目 提醒时间 提醒邮件 </td></tr>
<tr>
<td colspan="3"><input size=10 type="text" name="tt[]" >
<input size=10 type="text" name="aa[]" id="begin_date_b" >
<input type="reset" value="..."
onclick="return showCalendar('begin_date_b', 'y-m-d');"><input size=10 type="text" name="bb[]"></td>
</tr>
</table>
<input value="bbccdd"type="submit">
</form>
// js code
var i = 1;
function addline(...){
...
id="begin_date_b_" + i;
...
showCalendar("begin_date_b_" + i, ...
...
i++;
}
1、id不能重复,所以利用i的递增产生不重复的id2、设置innerHTML的时候值不要换行
类似innerHTML = '<input name="tt" \/><input name="aa" \/>';3、格式的话那个日历控件应该可以设置的
为什么不能重复?因为就是一个日历控件啊,ID就是关联日期控件2、设置innerHTML的时候值不要换行
类似innerHTML = ' <input name="tt" \/> <input name="aa" \/>'; 这好像没什么关系,我试子
3、格式的话那个日历控件应该可以设置的不需要。不知是大家明白我的意思没有?我想要做的就是在动态增加文本框中的第二个字段,即,我每增加一个动态文本框,有三个字段,即:tt aa bb,我要动态增加的每行的aa字段上加一个日历控件。相反如果是静态文本框肯定没问题,静态这样即可:<input size=10 type="text" name="aa[]" id="begin_date_b" >
<input type="reset" value="..." onclick="return showCalendar('begin_date_b', 'y-m-d');"> 现在要把这个方式加载到动态的文本框上:即代码: <script>
function addline(content){
newline=document.all.test.insertRow();
newline.insertCell().innerHTML='
<input size=10 type="text" name="tt[]">
------下面这行---------
<input size=10 type="text" name="aa[]" id="begin_date_b"> <input type="reset" value="..."
onclick="return showCalendar('begin_date_b', 'y-m-d');">--------上面这行------------
<input size=10 type="text" name="bb[]">
<input type="button" value="删除" onclick="del()"> </tr>'
}
function del(){
document.all.test.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex);
}
</script>
xx
</p>";,如果要用写\n,var html = "<p>\nxx\n</p>",否则好像会出错3、2 & 1
一目了然.
为数组foreach插入