Javascript html标记正在更改,但表单上未做任何更改
我正在使用以下代码更改表单上标记的属性 标签Javascript html标记正在更改,但表单上未做任何更改,javascript,html,tapestry,Javascript,Html,Tapestry,我正在使用以下代码更改表单上标记的属性 标签 <input jwcid="licensingApprovalDate@CustomDatePicker" disabled="ognl:disabled || isLicensingApprovalDateDisabled()" value="ognl:company.licensingApprovalDate" displayName="message:company.licensingApprovalDate"/&
<input jwcid="licensingApprovalDate@CustomDatePicker" disabled="ognl:disabled || isLicensingApprovalDateDisabled()"
value="ognl:company.licensingApprovalDate" displayName="message:company.licensingApprovalDate"/>
当licensingStatus更改时调用此函数,它正在工作,当我检查元素时,licensingStatus更改时,标记已正确更改,但这应在licensingApprovalDate输入框旁边添加一个*但它没有
是否有一种方法可以在标记/许可证状态发生更改时立即进行更改?验证程序是一个参数,而不是一个属性。它作为属性出现在模板中,因为它有点像XML
Tapestry 3并不是为这种级别的动态行为而设计的(尽管它在2003年是最先进的!)。鉴于它的2012,请考虑升级到挂毯5! 我没有看到任何“标签”在这里改变。你的意思是当值发生变化时?它发生变化时是什么意思?通过标签,你的意思是textbox?编辑到问题:我将这个“tapestry”标记为谷歌搜索
jwcid
的tapestry结果。由于我不熟悉tapestry,请原谅我标记错误。调用函数时,它会向
标记添加一个新属性,我要做的是刷新licensingApprovalDate@CustomDatePicker
将新属性添加到
标记时,因为这些工作是在服务器上完成的,而不是客户端。
function checkForChange(field) {
var approvalStatus = document.getElementById('licensingStatus').value;
if(approvalStatus == "Pass"){
document.getElementById('licensingApprovalDate').setAttribute("validators", "validators:maxDateToday,required");
} else {
document.getElementById('licensingApprovalDate').setAttribute("validators", "validators:maxDateToday");
}
}