表单提交不适用于 wordpress 管理中的下拉更改
Form submit is not working for dropdown change in wordpress admin
我正在努力在 wordpress 管理中更改下拉列表后提交表单。我尝试将 javascript 添加到 <select onchange="this.form.submit()"></select>
之类的下拉列表中,这对我也不起作用。即使我尝试使用 JQuery 但没有用。
functions.php
//**************function to add the javascript
function add_my_script() {
wp_enqueue_script(
'dropdown', scripts and de-register, etc.
get_template_directory_uri() . '/js/dropdown.js',
array('jquery'),'20120206'
);
}
add_action( 'wp_enqueue_scripts', 'add_my_script' );
//**************function to create the form
function Reviews_settings_page()
{
?>
<div class="wrap">
<form method="POST" name="review_edit" action="<?php echo $_SERVER['PHP_SELF'].'?page=Reviews-panel';?>">
<?php
settings_fields("section");
do_settings_sections("Reviews-options");
submit_button();
?>
</form>
</div>
<?php
}
//*********function to create the dropdown
function display_Reviews_Brand_listing()
{
echo "<select name='dropdown' id='dropdown'>
<option value=''>--select--</option>
<option value='101'>EVEREST</option>
<option value='102'>REVOLT</option>
<option value='103'>HAWANA</option>
<option value='104'>ELIZE</option>
</select>";
}
//**************adding functionality to wordpress admin
function display_Reviews_panel_fields()
{
add_settings_section("section", "Reviews", null, "Reviews-options");
add_settings_field("Reviews_url", "Select the Brand for Review", "display_Reviews_Brand_listing", "Reviews-options", "section");
register_setting("section", "Reviews_url");
}
add_action("admin_init", "display_Reviews_panel_fields");
dropdown.js
jQuery( document ).ready( function( $ ) {
$('#dropdown').on('change', function() {
var $form = $(this).closest('form');
$form.find('input[type=submit]').click();
});
} );
如有任何帮助,我们将不胜感激。
感谢您为此问题付出的时间和努力。
我试图复制你的错误。将表单操作留空而不是 $_SERVER['PHP_SELF']
。您的 dropdown.js
已被 add_action()
添加成功
我也 onchange='this.form.submit();'
没用。
我尝试了不同的代码片段来提交表单,最后 javascript 对我有用
dropdown.js
function myFunction() {
document.querySelectorAll("input[type=submit]")[0].click();
}
functions.php
//update your form tag
<form method="POST" name="review_edit" id="review_edit" action="">
//update your <select>
<select name='dropdown' id='dropdown' onchange='myFunction();'>
希望对您有所帮助。
我正在努力在 wordpress 管理中更改下拉列表后提交表单。我尝试将 javascript 添加到 <select onchange="this.form.submit()"></select>
之类的下拉列表中,这对我也不起作用。即使我尝试使用 JQuery 但没有用。
functions.php
//**************function to add the javascript
function add_my_script() {
wp_enqueue_script(
'dropdown', scripts and de-register, etc.
get_template_directory_uri() . '/js/dropdown.js',
array('jquery'),'20120206'
);
}
add_action( 'wp_enqueue_scripts', 'add_my_script' );
//**************function to create the form
function Reviews_settings_page()
{
?>
<div class="wrap">
<form method="POST" name="review_edit" action="<?php echo $_SERVER['PHP_SELF'].'?page=Reviews-panel';?>">
<?php
settings_fields("section");
do_settings_sections("Reviews-options");
submit_button();
?>
</form>
</div>
<?php
}
//*********function to create the dropdown
function display_Reviews_Brand_listing()
{
echo "<select name='dropdown' id='dropdown'>
<option value=''>--select--</option>
<option value='101'>EVEREST</option>
<option value='102'>REVOLT</option>
<option value='103'>HAWANA</option>
<option value='104'>ELIZE</option>
</select>";
}
//**************adding functionality to wordpress admin
function display_Reviews_panel_fields()
{
add_settings_section("section", "Reviews", null, "Reviews-options");
add_settings_field("Reviews_url", "Select the Brand for Review", "display_Reviews_Brand_listing", "Reviews-options", "section");
register_setting("section", "Reviews_url");
}
add_action("admin_init", "display_Reviews_panel_fields");
dropdown.js
jQuery( document ).ready( function( $ ) {
$('#dropdown').on('change', function() {
var $form = $(this).closest('form');
$form.find('input[type=submit]').click();
});
} );
如有任何帮助,我们将不胜感激。 感谢您为此问题付出的时间和努力。
我试图复制你的错误。将表单操作留空而不是 $_SERVER['PHP_SELF']
。您的 dropdown.js
已被 add_action()
我也 onchange='this.form.submit();'
没用。
我尝试了不同的代码片段来提交表单,最后 javascript 对我有用
dropdown.js
function myFunction() {
document.querySelectorAll("input[type=submit]")[0].click();
}
functions.php
//update your form tag
<form method="POST" name="review_edit" id="review_edit" action="">
//update your <select>
<select name='dropdown' id='dropdown' onchange='myFunction();'>
希望对您有所帮助。