这是一个我似乎无法解决的非常奇怪的问题。我有几个表单(登录、注册和其他)通过短代码输出到网站上。提交表单时,通过“init”钩子处理表单数据,该钩子侦听$\\u POST数据。
在IE 9中提交表单时,单击“提交”时,所有字段中的值都会被清除。例如,假设有一个名为“username”的输入字段,该字段的值设置为“johndoe”;通过IE 9(包括7和8)以外的任何浏览器提交表单时,数据如下:
$_POST[\'username\'] = \'johndoe\'
完全符合预期。
然而,当表单与IE9一起提交时,结果如下:
$_POST[\'username\'] = \'\'
据我所知,网站上的每一张表单都会出现这种情况。
例如,我构建的自定义登录表单如下所示:
<form id="re_login_form" class="re_login_form" action="" method="post">
<fieldset>
<label for="re_user_Login"><?php _e(\'Username\', \'re\'); ?></label>
<input name="re_user_login" id="re_user_login" class="required" type="text" title="<?php _e(\'Username\', \'re\'); ?>"/>
</fieldset>
<fieldset>
<label for="re_user_pass"><?php _e(\'Password\', \'re\'); ?></label>
<input name="re_user_pass" id="re_user_pass" class="password required" type="password"/>
</fieldset>
<fieldset class="form-action">
<input type="hidden" name="refalf_redirect" value="<?php echo $redirect; ?>"/>
<input type="hidden" name="re_login_nonce" value="<?php echo wp_create_nonce(\'re-login-nonce\'); ?>"/>
<input id="re_login_submit" type="submit" class="button re_submit" value="<?php _e(\'Log In\', \'re\'); ?>"/>
<p class="forgot-password"><a href="<?php echo wp_lostpassword_url( get_permalink() ); ?>" title="<?php _e(\'Lost Password\', \'re\'); ?>"><?php _e(\'Lost Password?\', \'re\'); ?></a></p>
</fieldset>
</form>
特别有趣的是,当在IE9中单击submit时,字段的值会明显清除。这也就好像提交按钮触发了IE9中清除字段的某些内容。
有人有什么想法吗?