不确定以前是否有人遇到过这个问题,这对我来说是一个新的。我目前正在开发一个主题,该主题在主侧边栏中有一个搜索表单,在这种情况下,该表单作为标题部分增加了一倍。
该表单在计算机上运行良好,即使此屏幕被拉下,因此它与手机一样窄。
问题是,当我尝试从平板电脑或手机使用表单时,它不允许我在字段中输入任何文本。当我单击表单时,我的键盘会在移动设备上弹出,但我输入的任何内容最终都会填充该字段。
所有其他形式似乎都可以在移动设备上很好地工作。
这是我的搜索表单.php:
<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>" role="search">
<label for="s" class="assistive-text"><?php _e( 'Search', 'fsxo' ); ?></label>
<input type="text" class="form-control" name="s" value="<?php echo esc_attr( get_search_query() ); ?>" id="s" placeholder="<?php esc_attr_e( 'Search …', 'fsxo' ); ?>" />
<input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'fsxo' ); ?>" />
</form>
我像这样在侧边栏中调用它:<?php get_search_form(); ?>
与往常一样,非常感谢任何帮助弄清楚这一点。
谢谢!
更新:适用于Android,但不适用于iOS。
确保在
CSS 中设置移动设备上的颜色。设置为黑色仅用于测试(如果需要)。
你知道 HTML 吗?;-)不确定这是否是问题所在,但如果您使用get_search_form() 在主题中两次,您不能使用任何 HTML-ID 属性,因为它必须是每个定义的唯一标识符。
无论如何,您可以使用get_search_query()填充搜索表单中的两个文本字段。
要使查询正常工作,输入文本字段必须具有method="get"和name="s"。
如果在删除(或唯一)所有 id 后仍然无法将任何文本放入输入字段中,则可能是 CSS 问题(元素位于文本输入上方)或任何 JS 问题,这些问题无法从当前提出的问题中得出这里。