如果选择的值在没有按钮的情况下发生更改,则提交wordpress表单

| 我正在尝试提交没有提交按钮的表格。 此表单从wordpress中的自定义字段获取值,并在另一页中显示结果。我一直在尝试使用普通的javascript函数onchange,但没有任何反应,我也一直在尝试使用函数...没有人知道这有什么问题,或者是否有更好的解决方法?可能与Wordpress或post方法相关吗?这是表格的代码:
<form method=\"get\" name=\"form\" action=\"/busqueda/\" >
        <div class=\"search\">

            <select class=\"styled\" name=\"author\"  onChange=\"this.form.submit();\">
            <option value=\"-1\" selected>Authors</option>    
            <?php
            $metakey = \'author\';
            $autores = $wpdb->get_col($wpdb->prepare(\"SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC\", $metakey) );
            if ($authors) {
            foreach ($authors as $author) {
            echo \"<option VALUE=\\\"\" . $author . \"\\\">\" . $author . \"</option>\";
                                    }
                            }
                ?>
            </select>
        </div><!-- #search1 -->

</form>
顺便说一句,当使用标准的提交按钮显示结果时,该表格可以正常工作。 任何可能出问题的提示都值得欢迎。非常感谢!     
已邀请:
        试试这个:
<form method=\"get\" name=\"form\" action=\"/busqueda/\" >
        <div class=\"search\">

            <select class=\"styled\" name=\"author\" onChange=\"document.forms[\'form\'].submit();\">

            <?php
            $metakey = \'author\';
            $autores = $wpdb->get_col($wpdb->prepare(\"SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC\", $metakey) );
            if ($authors) {
            foreach ($authors as $author) {
            echo \"<option VALUE=\\\"\" . $author . \"\\\">\" . $author . \"</option>\";
                                    }
                            }
                ?>
            </select>
        </div><!-- #search1 -->

</form>
用jQuery Submit更新 更新后的表格:
<form id=\"authorForm\" method=\"get\" name=\"form\" action=\"/busqueda/\" >
        <div class=\"search\">

            <select id=\"author\" class=\"styled\" name=\"author\">
                <option value=\"default\">Choose an author...</option>
                <?php
                $metakey = \'author\';
                $autores = $wpdb->get_col($wpdb->prepare(\"SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC\", $metakey) );
                if ($authors){
                    foreach ($authors as $author) {
                        echo \'<option value=\"\' . $author . \'\">\' . $author . \'</option>\';
                    }
                }
                ?>
            </select>
        </div><!-- #search1 -->

</form>
jQuery脚本更改事件处理和表单提交:
<script type=\"text/javascript\">
$(document).ready(function(){
    $(\'#author\').change(function(){
        if($(this).val() !== \'default\'){
            $(\'#authorForm\').submit();
        }
    }); 
});
</script>
您可以通过提交投递箱更改事件来测试jQuery     
        我希望您通过$ _GET正确检索发布后的值,因为当我在浏览器中运行代码时,该值会很好地传递到URL中。检查您的检索代码,确保您使用的是$ _GET而不是$ _POST。     

要回复问题请先登录注册