我有一個Dojo表單,我想將錯誤返回到表單並在工具提示中顯示它們,因爲我不想向表單佈局添加額外的元素。在研究中,我看到Dojo不允許這種實現,因爲工具提示只會顯示在焦點項目中。在我的情況下,我希望顯示多個項目的工具提示,例如所有空字段。Dojo在頁面上顯示多個工具提示
我遇到一個博客,一個人做了一個hack但是我不確定他的執行情況。我想顯示多個項目的多個工具提示。這也是我到目前爲止所做的一個fiddle。工具提示僅顯示最後一個項目。
Dojo表單
<body class="claro">
<input data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="
regExp: '[\\w]+',
required: true,
invalidMessage: 'First Name Required !'" id="fnameTextBox" title="First Name" placeholder="Your First Name" />
<input data-dojo-type="dijit/form/ValidationTextBox" data-dojo-props="
regExp: '[\\w]+',
required: true,
invalidMessage: 'Last Name Required !'" id="lnameTextBox" title="Last Name" placeholder="Your Last Name" />
<button id="validateFields" data-dojo-type="dijit/form/Button">Validate</button>
</body>
的Javascript
dojo.require("dijit/form/Button");
dojo.require("dijit/form/ValidationTextBox");
dojo.require("dijit/Tooltip");
dojo.ready(function() {
var fName = dijit.byId("fnameTextBox");
var lName = dijit.byId("lnameTextBox");
dojo.connect(dijit.byId("validateFields"), "onClick", function() {
dijit.showTooltip(
fName.get('invalidMessage'),
fName.domNode,
fName.get('tooltipPosition'), !fName.isLeftToRight());
dijit.showTooltip(
lName.get('invalidMessage'),
lName.domNode,
lName.get('tooltipPosition'), !lName.isLeftToRight());
});
});
這不是一個不好回答,我喜歡它的工作原理 – devdar
我能做到的方式如果我的項目位於dojox.layout.TableContainer中,則與使用表單標記一樣。該應用程序採用嚮導形式,僅包含在一個表單標籤中。使用表單標籤會導致嚮導中的其他頁面上的驗證。那麼我可以爲TableContainer做同樣的事嗎? – devdar
「validate」是表單上的一個函數,這對於通過一次調用來驗證封閉的所有字段非常有用。 TabContainer沒有驗證功能。此外,對該特定表單調用「驗證」將不會驗證任何其他表單:) –