【问题标题】:An illegal choice has been detected. Please contact the site administrator while submitting form using drupal 7检测到非法选择。使用 drupal 7 提交表单时请联系站点管理员
【发布时间】:2021-04-24 10:45:10
【问题描述】:

我正在尝试在 drupal 7 中提交表单,并且我有针对国家澳大利亚的州的下拉字段 如果我选择国家字段下方显示的澳大利亚国家/地区选项。

我的州列表:

public static $au_states = array(
"ACT" =>  "Australian Capital Territory",
"NSW" =>  "New South Wales",
"NT"  =>  "Northern Territory",
"QLD" =>  "Queensland",
"SA"  =>  "South Australia",
"TAS" =>  "Tasmania",
"VIC" =>  "Victoria",
"WA"  =>  "Western Australia",

 );

当我从状态下拉列表中选择任何选项时,检测到非法选择错误。 但是要注意的重要一点如果我选择州:“NT”=>“北领地”,在这种情况下,表格提交成功,它不会显示任何错误,但如果我选择任何其他州,它会显示错误。 我被困在哪里错了。? 非常感谢您的帮助。

【问题讨论】:

    标签: php drupal-7 state dropdown


    【解决方案1】:

    当您向表单添加新输入字段或添加/删除客户端上的某些字段选项(使用 javascript,在 Drupal 机制之外)时,通常会显示此错误消息。在这种情况下,Drupal 将修改后的表单视为不安全(有点被陌生人入侵)并拒绝处理它。

    据我了解,您有两个输入字段:一个用于国家/地区的选择输入,另一个用于州。这是你的情况吗?如果是,您是否正在使用 javascript 操作第二个输入的选项(以显示所选国家/地区的状态)?同样,如果是,您必须在国家/地区输入上使用Drupal Ajax API 来操作服务器端输入的州的选项,以通知 Drupal 您已故意更改该字段的选项并且不是陌生人!

    【讨论】:

      猜你喜欢
      • 2012-10-01
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 2018-10-01
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多