我正在创建一个新的应用程序,我在设计一个表单,其中元素根据radiobuttonlist的选择而不同。 例如 - 我有一个radiobutton列表 - 性别和选择是男性和女性。
男性: 表单的下一个元素是textfield Extra Curricular activities:,学生可以输入柔道,空手道等类型。
女性: 表格的下一个元素是下拉菜单课外活动:有舞蹈,芭蕾舞等选项 根据上述单选按钮的选择,应显示下一个元素,输入的数据将转换为JSON格式并存储在数据库中。
现在,为了达到这个目的,我将dropdownlist中的相同字段放在一个div中,将textfield放在另一个div中。我使用jQuery分别隐藏和显示div。
注意 - 课外活动用作男性儿童的文本字段和女性儿童的下拉菜单。 我做得对吗?
答案 0 :(得分:0)
这感觉有点hacky,但这是一个例子:
here's my "accompanied code" to make SO happy about jsfiddle links :P
我在这里所做的基本上就是你已经在做的事情,不同之处在于我将你不希望发布的元素移动到隐藏的div中。
但我的建议是以不同的方式做到这一点。为什么在男性选项完全开放的情况下将女性选项限制为下拉?我认为你在这里遇到麻烦 - 你不希望你的用户觉得你对任何性别都有偏见。
我会选择男性和女性的下拉菜单以及额外的“其他......”选择。如果他们选择该选项,则显示textarea以便他们添加活动。这样,您将拥有相同的表单元素来处理男性或女性,并使您的开发更容易和更易于维护。
修改强>
回答你的问题“这是正确的方法吗?”,我想不会。由于你有textarea和select元素同名,你的$ _POST变量可能会得到奇怪的结果,这就是为什么我选择将元素移到表单之外,如果你不打算在你使用它们时处理$ _POST变量。