动态创建表单上的日历控件

发布于 2024-10-25 04:38:59 字数 368 浏览 1 评论 0原文

我正在尝试完成一项小任务,其中我有一个带有日期文本输入的迭代表单,该表单通过 Javascript DatePicker 控件获取其值。

我的问题是,所有这些动态创建的表单上的日期选择器仅在第一个表单中的第一个文本框元素上打印值,如何为其提供对 forms[x] 文本框元素的动态引用。

我的表单名称动态生成为 form1、form2、form3、form[x],如何引用正在单击其 DatePicker 的特定表单的内部元素。 您可以下载包含日期选择器和日期选择器的 Zip 文件。动态表单的 HTML 页面位于此处 在此处输入链接说明

I’m trying to accomplish a small task where I have one single Form ITERATED with a Date textinput which gets its Value by a Javascript DatePicker control.

My problem is, the datepicker on all these dynamically created forms only prints value on the first textbox element in the first form, how do I give it Dynamic reference to forms[x] text box element.

My form names are being generated Dynamically as form1, form2, form3, form[x], how do I reference the inner element of that particular form whose DatePicker is being clicked.
you can download the Zip file which has the datepicker & the HTML page for the Dynamic forms from here enter link description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遮云壑 2024-11-01 04:39:00
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);
    }

这是正确的函数

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);
    }

this is the correct function

终陌 2024-11-01 04:39:00

如果您通过单击按钮发送所有数据,那么您需要在 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.
}

if you are sending all data using one click of a button then you need to add a hidden field on the html form containing the total number of dates to be sent.

$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.
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文