2011-03-21 71 views
0

我试图完成一个小任务,我有一个日期的TextInput它通过一个Javascript DatePicker控件获取其值迭代一个单一的形式。日历控件创建形式

我的问题是,所有这些动态创建的形式日期选择器只有在第一种形式的第一个文本框元素,我怎么给它的动态参考表格[X]文本框元素上打印值。被动态生成

我的形式名称为Form1,窗口2,form3,形式[X],我如何引用特定形式,其的DatePicker被点击的内元件。 你可以,如果你要发送的一个按钮的点击所有的数据下载的有日期选择器&的HTML页面,从这里enter link description here

回答

0
function addElement() { 
     intTextBox = intTextBox + 1; 
     intTextArea = intTextArea + 1; 
     var contentID = document.getElementById("new-field-back"); 
     var newTBDiv = document.createElement("div"); 
     newTBDiv.onclick=function(){ current=this; } 
     newTBDiv.setAttribute("id","strText"+intTextBox); 
     newTBDiv.innerHTML = "<br/><br/><form method='post' name='form" + intTextBox + "'><input 

id='date_of_event' name='date_of_event" + intTextBox + "' class='date-pick' value=''><div 

class='date-text'><a href='#' onclick=displayDatePicker('date_of_event" + intTextBox + 

"');>Calendar</a></div></div><input type='submit' value='Update'><input type='button' 

onclick='removeElement()' value='Remove'></form><br/><br/>"; 

     contentID.appendChild(newTBDiv); 
    } 

动态形式Zip文件,这是正确的函数

+0

使用这个脚本中的修正功能。有一个简单的错误。如果您使用不同的名称创建表单,则应该为日期选择器提供不同的名称。错误解决了。如果你喜欢它,不要忘记标记答案正确。 – 2011-03-21 08:38:31

+0

Thx兄弟,但我想保持元素ID的形式相同.. 我可能是错的,但如果你可以帮助我多一点,我想完成的是,这些个人形式,当提交将运行一个MySql查询并在数据库中插入一行日期和事件描述。 我的挑战在于如何解决这些动态元素ID的价值?每个表单都有自己的提交按钮,但元素ID的更改..... – 2011-03-21 09:04:29

+0

如果保持元素ID相同,则所有添加的日历将修改相同文本框的日期。但这不是你想要的。日历控件应该修改各自文本框的日期。不是吗? – 2011-03-21 09:08:14

0

那么您需要在包含要发送的日期总数的html表单上添加一个隐藏字段。

$num=$_POST['no_of_dates']; 
$i; 
for ($i=1;$i<=$num;$i++) 
{ 
    $_field_name="date_of_event".$i; 
    $_date_get=$_POST[$_field_name]; 
    //now you can insert the $_date_get variable into the database by running a query. 
} 
+0

我最初想用一些AJAX调用这里讨论个人形式的,所有我卡是如何解决的价值在文本框的动态生成的表格[X] 我敢肯定有jQuery的一个办法做到这一点....只有我很小白到jQuery和JS – 2011-03-21 10:12:53

+0

你能请上传您的所有项目,并给予我的指示是否正确?我会为你解决这个问题。 – 2011-03-21 10:20:40