Hi all,
Scoe’s solution did not work for me, so I investigated a little further.
Found that Webkit browsers (Safari, Crome) don’t allow for nested form elements to be created using javascript. That is what the “add widget” drag-drop does.
I’ve changed the plugin PHP (see below) so that it transforms the <form> elements into <div> elements. Next changed the plugin JavaScript to conform to that change.
It works for me on Safari, Chrome, FireFox and IE.
Please test some more ??
Hope Metalscorpion or CodeAndMore are following…
Edit wp-page-widgets.php
1. add new function
function pw_fix_widget_forms( $list = '' ) {
ob_start();
switch( $list ) {
case 'wp_list_widgets':
wp_list_widgets();
break;
default:
wp_list_widget_controls($list);
break;
}
$output = ob_get_clean();
ob_end_clean();
$output = str_replace ( array('<form action="" method="post">','</form>'), array('<div class="pw_postbox">','</div>'), $output );
echo $output;
}
2. Change line 245 to
<?php pw_fix_widget_forms('wp_list_widgets'); ?>
3. Change line 260 to
<?php pw_fix_widget_forms('wp_inactive_widgets'); ?>
4. Change line 283 to
<?php pw_fix_widget_forms( $sidebar ); // Show the control forms for each of the widgets in this sidebar ?>
Edit page-widgets.js
Change line 191 to
var sb = widget.closest('div.widgets-sortables').attr('id'), data = widget.find('.pw_postbox').find('input, textarea').serialize(), a;