我正在从事HP自主交织的Teamsite DCT,我正在尝试将jQuery Datepicker添加到“selectDate”文本元素中.

基本上这个文本元素是属性为min = 1的复制容器的一部分.
因此,在表单加载时,复制容器的第一个实例具有附带选择日期文本项的日期选择器.但是当我添加新的复制容器时,新实例的“选择日期”文本元素不会被填充到datepicker.

我的DCT代码是
这里显示了一些部分


<script language="javascript" location="webserver" type="text/javascript" src="/iw/macysdotcom/formapi/jquery/js/jquery-ui-1.9.2.custom.min.js" />
    <script language="javascript" location="webserver" src="/iw/macysdotcom/formapi/library.js"/> 
    <script language="javascript" location="template-type" src="shy.js"/>       
    <root-container location="Root" name="Root">
            <container name='sequenceContainer' min='1' max='25' default='0'>
                <container name='rowContainer' min='1' max='25' default='0'><label>&lt;img src='/iw-cc/teamsite/images/bullets/blue_bullet.png'/&gt; Row Container</label>
                <item name="startDate" pathid="startDate" required="t" rowcontinue="t">
                    <label>Start Date</label>
                    <text required="f" size="30" maxlength="100">
                    </text>
                </item>
                <item name="endDate" pathid="endDate" required="t">
                    <label>End Date</label>
                    <text required="f" size="30" maxlength="100">
                    </text>
                </item>                 
                </container>
            </container>
    </root-container>

JS代码如下

/******************************************************************************
// Setting up some variables. From line Number 15 to 29.
// You’ll notice a list of scripts and CSS files we want to use within
// Formspublisher and a few basic state variables.
*******************************************************************************/
var o = {};
var server = window.location.hostname;
o.iwInitialised = false;
o.loadedScripts = 0;
var f = window.top.formframe;
o.stylesheets = new Array(
                    '/iw/macysdotcom/formapi/jquery/css/smoothness/jquery-ui-1.9.2.custom.min.css'
                );

o.scripts = new Array(
    '/iw/macysdotcom/formapi/jquery/jquery-1.8.3.min.js','/iw/macysdotcom/formapi/jquery/js/jquery-ui-1.9.2.custom.min.js'
);

/********************************************************************************/

/********************************************************************************
// The code below instructs jQuery to periodically check whether 
// the o.iwInitialised variable has been set to true by the formAPI onFormInit
// event before executing the next steps
*********************************************************************************/
$().ready(function() {
    o.waitForIwInitialise();
});

o.waitForIwInitialise = function() {
    if(!o.iwInitialised) {
        setTimeout('o.waitForIwInitialise()',500);
    } else {
        o.ready();
    }
}

/********************************************************************************/

/************************************************************************************
// In code below setting a flag to say that Formspublisher is initialised 
// I am also disabling the field that we will apply auto-completion to. 
// I had issues when a user would start to type before auto complete was fully 
// initialised.
************************************************************************************/
o.iwInitalise = function() {
    o.iwInitialised = true;

}
/*****************************************************************************/

/********************************************************************************/
// setting data that contains all of the values for our auto-complete field.
/********************************************************************************/
o.ready = function() {
    o.loadStylesheets();            
}

/*******************************************************************************/


/********************************************************************************
// A TeamSite DCT is rendered to the browser as a series of iFrames. 
// Our next step is to inject the Javascript and CSS that we need into 
// the iFrame containing the form that makes up our DCT.
//-------------------------------------------------------------------------------
// We are targeting our CSS and scripts at window.top.formframe.document 
// which is where the DCT form resides. The list of Javascript and CSS 
// files is taken from our configuration variables so you Could reuse 
// this code to add any jQuery plugins that you wish to use.
********************************************************************************/           
o.loadStylesheets = function() {
    //alert("DatA Later :  "+o.data);
    var doc = f.document;
    var head = doc.getElementsByTagName('head')[0];     
    $(o.stylesheets).each(function() {
        var script = doc.createElement("link");
        script.setAttribute("rel","stylesheet");
        script.setAttribute("type","text/css");
        script.setAttribute("href",this);
        head.appendChild(script);
        var Meta = doc.createElement("Meta");
        Meta.setAttribute("http-equiv","X-UA-Compatible");
        Meta.setAttribute("content","IE=edge");
        //alert(Meta);
        head.appendChild(Meta);
    });         
    o.loadScripts();
}
o.loadScripts = function() {                
    var document = f.document;
    if(o.loadedScripts < o.scripts.length) {
        var head = document.getElementsByTagName('head')[0];
        var src = o.scripts[o.loadedScripts];
        var script = document.createElement('script');          
        script.setAttribute('src',src);
        script.setAttribute('type','text/javascript');
        o.loadedScripts++;
        script.onreadystatechange= function () {
            if (this.readyState == 'loaded') o.loadScripts();
        }
        script.onload = o.loadScripts;
        head.appendChild(script);
    } else {
        o.topFrameLoaded();
    }
}
/********************************************************************************/

IWEventRegistry.addFormHandler("onFormInit",o.iwInitalise);


/*********************************************************************************
// final step is to enable auto complete.we are finding a reference to our text 
// field in the DCT and enabling auto complete. 
// We are also re-enabling the field Now that all is ready
*********************************************************************************/
o.topFrameLoaded = function() {     
    f.$("input[name*='startDate']").datepicker({
      dateFormat: "mm/d/yy",changeMonth: true,changeYear: true,minDate: 0,numberOfMonths: 1,showOn: "both",buttonImage: "/iw/macysdotcom/formapi/jquery/calendar.png",showButtonPanel: true,closeText : "12/31/9999",buttonImageOnly: true,onClose: function( selectedDate,inst ) {
        f.$("input[name*='endDate']").datepicker( "option","minDate",selectedDate );
        f.$( this ).datepicker( "option",'dateFormat','mm/d/yy' );
      }
    });

    f.$("input[name*='endDate']").datepicker({
      changeMonth: true,dateFormat: "mm/d/yy",inst ) {
        f.$("input[name*='startDate']").datepicker( "option","maxDate",selectedDate );
        f.$(this).datepicker( "option",'mm/d/yy' );
      }
    })

    f.$('button.ui-datepicker-current').live('click',function() {
        f.$.datepicker._curInst.input.datepicker('setDate',new Date()).datepicker('hide').blur();
    });

    f.$('button.ui-datepicker-close').live('click','12/31/9999').datepicker('hide').blur();
    });

}   

function init(){
IWEventRegistry.addItemHandler("/Root/sequenceContainer/rowContainer","OnReplicantAdded",testReplicant);}

function testReplicant(item) {
o.topFrameLoaded();}

init();

解决方法

有一个内置的,你可以打电话.
一个例子可以是:
<item name="Date" pathid="Date">
<label>Date</label>
<description>Date Picker.</description>
<text required="t" size="12" maxlength="10" validation-regex="^[0-9]{4}\/[0-1][0-9]\/[0-3][0-9]$">
<callout url="/iw-bin/iw_cgi_wrapper.cgi/calendar.ipl/allow_past_dates=1" label="View Calendar" window-features="width=200,height=230,resizable=no,toolbar=no,scrollbars=no,titlebar=no"/>
<default>yyyy/mm/dd</default>
    </text>
    <readonly />
    </item>

这应该产生日历或帮助您在正确的轨道.

在Teamsite中将jQuery日期选择器应用于DCT的更多相关文章

  1. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. 解析html5 canvas实现背景鼠标连线动态效果代码

    流行的动态背景连线特效。今天小编通过实例代码给大家解析html5 canvas实现背景鼠标连线动态效果,感兴趣的朋友一起看看吧

  3. ios – DatePicker包含Year

    我在我的应用程序中实现了dataPicker.但它只显示月,日,小时.我怎么能在日期选择器中添加年份.任何的想法?

  4. iOS 5 – 将UIDatePicker最小日期设置为“今天”

    我知道如何将UIDatePicker中的最大和最小日期设置为某个日期,我想知道是否可以这样做,所以最小日期始终是“今天”日期.在我的应用程序中,用户输入过去的日期是没有意义的,只是为了让他们添加一个今天或将来的日期.解决方法将最短日期设置为现在,将显示日期设置为2秒:在初始化Nib或在重新使用时为视图控制器设置数据时执行此操作.您也可以在viewWillAppear中执行此操作.额外积分:您可以添加一种IBAction方法,巧妙地鼓励用户不要选择错误的建议日期:

  5. ios – 在greift中将gregorian datepicker转换为波斯语日期选择器?

    解决方法您需要设置日历,而不是dateFormat:如果要更改语言,还必须设置语言环境属性:此外,正如问题注释所述,您正在使用NSDateFormatter,而不是代码中的UIDatePicker.幸运的是,答案仍然是正确的;UIDatePicker还有一个日历属性,您可以设置该属性来实现此目标.

  6. ios – 如果用户以编程方式命中UITextfield,如何显示UIDatePicker

    只有当用户UITextField被点击时,才想显示UIDatePicker.当选择日期时,它应该显示在相同的UITextField中.我想以编程方式实现UIDatePicker.我知道如何编写UITextField的代码.我甚至不知道如何调用UIDatePicker.有人可以帮我吗出生日期解决方法最简单的方法是实现datePicker如下:创建datePicker:然后将datePicker链接到textfieldinputView:最后,您可以在选择日期时捕获该操作,并将日期转换为字符串,以在textF

  7. 在IOS9中的Cordova应用程序使用JQuery / Javascript的window.history问题

    在两个测试用例中唯一改变的是Cordova.js.解决方法我看到这是几个星期前,但我会发布这个,以防其他人遇到它.听起来它可能与iOS9中的哈希更改生成的导航事件有关.如果是这样,可以将其添加到index.html以禁用哈希侦听:

  8. ios – 用UIDatePicker替换UITextField输入

    ,我有一个很大的例外–我不能让选择器消失!我尝试注册事件UIControlEventTouchUpOutside,但似乎这不是由选择器生成的.如何识别用户已完成选择日期?还有,有没有办法禁止用户直接输入UITextField?我想强迫他们使用选择器.我看到这篇文章“DisableblinkingcursorinUITextField?”,但还有另一种方式吗?

  9. iOS 5上的jQuery事件

    解决方法在Apple开发论坛上由一个人回答:我需要在将元素添加到DOM之后才绑定(),如下所示:

  10. 如何在iOS中使用DatePicker仅接受月份和年份

    我正在使用swift构建应用程序,在该应用程序中,有一个字段用于接受借记卡的到期日期以进行付款.如何在Swift中使用DatePicker只接受月份和年份.如果使用datepicker是不可能的,那么请建议任何其他方式.先感谢您.解决方法选择-1Objective-C的迅速Swift3另一种模式是>UIDatePickerModeTime,>UIDatePickerModeDate,>UIDate

随机推荐

  1. jquery-plugins – 是否可以使用猫头鹰旋转木马实现循环/无限轮播?

    我正在使用猫头鹰旋转木马,它的工作完美,除了它不支持循环/无限滚动.我没有搜索google和stackoverflow的想法,没有运气.有没有人在猫头鹰旋转木马上实现圆形/无限滚动?

  2. jQuery动态输入字段焦点

    我想使用以下jQuery向我的页面动态添加一个输入字段:在这样做之后,我希望输入字段具有闪烁的文本光标的焦点,所以我想在创建后立即输入.有人可以告诉我我该怎么办?

  3. jquery – 为什么$(window).height()这样错了?

    我试图获取当前浏览器的视口高度,使用但我得到的价值观太低了.当视口高度高达850px时,我从height()获取大约350或400像素的值.这是怎么回事?

  4. jquery – 如果在此div之外和其他draggables内部(使用无效和有效的还原选项),则可拖动恢复

    例如这样但是由于明显的原因,这不行.我可以说这个吗?

  5. 创建一个jQueryUI 1.8按钮菜单

    现在jQueryUI1.8已经出来了,我正在浏览更新,并且遇到了新的Buttonwidget,特别是SplitButtonwithadropdown的演示之一.这个演示似乎表明Buttonwidget可以在这里创建一个下拉菜单.作为讨论的问题,我想知道使用这个新的Button小部件来创建一个下拉菜单有什么方法.干杯.解决方法您必须在按钮下方列出一个列表,方式类似于此处为自动完成提供的演示:http

  6. 灰色divs使用JQuery

    我试图使用这个代码:为了淡出一大堆名为MySelectorDiv的div,唯一的是,它只会淡出第一个而不是所有的div,为什么呢?

  7. 使用jQuery动态插入到列表中

    我有两个订单列表在彼此旁边.当我从一个列表中选出一个节点时,我想按照字母顺序插入到另一个列表中.抓住的是我想要把一个元素放在另一个列表中,而不刷新整个列表.奇怪的是,当我插入到右边的列表中,它工作正常,但是当我插入到左边的列表中时,顺序永远不会出来.我也尝试将所有内容读入数组,并将其排序在一起,以防止children()方法没有按照显示顺序返回任何东西,但是我仍然得到相同的结果.这是我的jQuer

  8. 没有回应MediaWiki API使用jQuery

    我试图从维基百科获取一些内容作为JSON:但我没有回应.如果我粘贴到浏览器的地址栏,就像我得到预期的内容.怎么了?解决方法您需要通过添加&callback=?来触发具有$.getJSON()的JSONP行为?在querystring上,像这样:Youcantestithere.没有使用JSONP,你正在击中same-originpolicy,阻止XmlHttpRequest获取任何数据.

  9. jQuery Ajax请求每30秒

    我有这段代码,但是有些人在我的网站上的值可能会改变.我需要每30秒钟更新一次#financediv.这可以做吗解决方法您可以将代码放在单独的函数中,如下所示:然后每30秒建立一个定时器调用该函数:祝你好运!总结以上是DEVMAX为你收集整理的jQueryAjax请求每30秒全部内容。如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  10. jquery – keypress事件在IE和Chrome中不工作,但在FF工作

    任何想法为什么会这样发生?我通常认为Chrome会更加宽容代码?这是我的按键键.我错过了什么吗?右图();和leftimage();是应该工作的功能,因为我在其他地方使用这些功能谢谢您的帮助!

返回
顶部