【问题标题】:Disabling inputFields via checkBox with Zend_Dojo_Form通过带有 Zend_Dojo_Form 的复选框禁用 inputFields
【发布时间】:2011-11-11 11:25:23
【问题描述】:

我正在扩展使用Zend_Dojo 创建的表单,为此我有一个特殊的任务我很难解决。

该表格用于购买,由两个地址组组成:payerAddressGroup 和 deliveryAddressGroup。

这两个组是分开的,因此您可以定义两个单独的地址。尽管payerAddress 与deliveryAddress 相同的情况多次出现。

所以我想通过添加一个可以禁用deliveryAddressGroup 的复选框来解决此任务,并且通过复选框的值仅使用payerAddress。

使用扩展名Zend_Dojo_Form创建表单。

我希望这是有道理的!

谢谢。

我希望这是有道理的?

【问题讨论】:

    标签: zend-framework dojo zend-form


    【解决方案1】:

    您可以查看 'checked' 属性。

    dojo.ready(function() {
        dijit.byId('shipAsPayCheckBox').watch('checked', function(property, oldValue, newValue) {
            dojo.forEach(dijit.findWidgets(dojo.byId('fieldset-deliveryGroup')), function(w) {
                w.set('disabled', oldValue);
            });
        });
    });
    

    您的标记应如下所示。

    <input id="shipAsPayCheckBox" name="shipAsPayCheckBox" dojoType="dijit.form.CheckBox" value="1" type="checkbox" /> 
    <fieldset id="fieldset-deliveryGroup">
        <button dojoType="dijit.form.Button" type="button">Button</button>
        <label for="income1">
        U.S. Dollars
        </label>
        <input type="text" name="income1" id="income1" value="54775.53" dojoType="dijit.form.CurrencyTextBox" required="true" constraints="{fractional:true}" currency="USD" invalidMessage="Invalid amount.  Cents are required.">
    </fieldset>
    

    【讨论】:

    • 感谢您的回复。但我不能完全成功地将它实施到我现有的项目中。 &lt;input id="shipAsPayCheckBox" name="shipAsPayCheckBox" value="1" type="checkbox" /&gt; 是我的复选框,组:&lt;fieldset id="fieldset-deliveryGroup"&gt;。甚至可以禁用整个字段集(组)吗?
    • 非常感谢您的更正,它在我看来是正确的,但由于某种原因我无法运行它。我什至尝试用addOnLoad 替换ready,但没有运气!
    • dojo.addOnLoad(function() { dijit.byId('shipAsPayCheckBox').watch('checked', function(property, oldValue, newValue) { dojo.forEach(dijit.findWidgets(dojo.byId('fieldset-deliveryGroup'), function(w) { w.set('disabled', newValue) }); }); }
    • 抱歉,我的原始代码中有一些语法错误。现已修复,添加了示例标记以回答。
    • 现在可以工作了,虽然有问题。我从一开始就将复选框设置为“选中”,这应该禁用输入字段。虽然事实并非如此。当我取消选中复选框时,它们会被禁用。我是否以错误的顺序插入 JS?
    猜你喜欢
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2019-06-08
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多