gpt4 book ai didi

javascript - 是否可以在 Zend 表单中显示和隐藏子表单 onclick

转载 作者:行者123 更新时间:2023-12-02 19:30:11 25 4
gpt4 key购买 nike

只是想知道是否可以在单选检查事件或按钮 onclick 事件上显示和隐藏 zend 表单中的子表单。由于我有一个包含用户字段元素的表单,现在我想要一个包含密码元素的子表单,这将使用户能够选择更改其密码。不过,我只想根据请求显示密码元素(即:单击单选按钮“更改密码”,然后会出现更改密码元素)。

这可以通过 Zend\Form 实现吗?还是我需要使用客户端 JavaScript 来显示和隐藏元素?

最佳答案

这是可能的,但这种事情是客户端的,所以你需要使用 javascript 才能做到这一点。就我个人而言,我喜欢使用 jQuery 来做这类事情,它使它变得更容易。以下是有关如何执行此操作的示例。

class My_Form extends Zend_Form {

$field = $this->createElement('select', 'myselect');
$field->setLabel('Choose to display the form or not');
$field->setMultiOptions(array('1'='Display', '2'=>'Do not display'));
$this->addElement($field);

$field = $this->createElement('text', 'optionaltext');
$field->setLabel('This is an optional field');
$this->addElement($fiel);
}

现在,在您的布局中,您应该包含 jQuery 库:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript">

最后,您应该包含另一个 .js 文件(或者只是将代码嵌入到页面上的 <script> 标记中)。

$(document).ready(function() {
$(function() {
//Function triggered when changing the value in the drop down
$('#myselect').change(function(event) {
if($('#myselect').val() == 1) {
//Show elements
$('#optionaltext').show();
//The following line shows/hides all the dd/dt wrappers as well
$('[id*=optionaltext]).show();
} else {
//Hide elements
$('#optionaltext').hide();
//The following line shows/hides all the dd/dt wrappers as well
$('[id*=optionaltext]).hide();
}
});
});
});

现在请记住,我还没有测试过代码,我只是在喝完当天的第一杯咖啡之前就在脑海中写下了这段代码,所以......它可能有一些错误。话虽如此,这应该是您想做的事情的良好开始。如果缺少某些内容或存在您无法找到的错误,请在此处提出您的问题。希望这有帮助!

关于javascript - 是否可以在 Zend 表单中显示和隐藏子表单 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com