2012-02-29 83 views
0

我正在使用一些JQuery代码来为原生不支持它们的浏览器创建占位符值。代码在提交被触发时清除表单。不幸的是,我的分页系统正在使用onchange="this.form.submit()"的选择下拉菜单,并且在使用此代码时,代码不会清空表格。如何更改以下代码以使用我的选择分页?选择选项上的空表单击

function _emptyFormOnSubmit($elements) 
{ 
    var $forms = $elements.closest('form'); 

    $forms.submit(function() 
    { 
    var $this = $(this); 

    // This check avoid processing more than once the same form. 
    if($this.data('placeHoldize.submitHandlerCalled')) { 
     return; 
    } 

    $this.find('.placeholder-visible') 
     .val('') 
     .data('placeHoldize.submitHandlerCalled', true); 
    }); 

    return true; 
} 
+0

值应该得到清除使用您提交处理,并不清楚什么是不工作 – charlietfl 2012-02-29 22:35:17

回答

1

也许这将工作:

var $forms = $elements.closest('form'); 
$forms.find('select[onchange="this.form.submit()"]'.change(function(){ 
     $forms.submit(); 
}) 
$forms.submit(function() 

它就像你的混合内嵌属性事件和基于事件的处理程序,并没有得到很好的内联属性事件连接JQuery的事件。

也许(更好)在你的选择平变化,你可以这样写:

$(this).closest("form").submit() 
+0

嗯。这些都不适合我。我很困惑,为什么这不起作用。 – 2012-03-01 03:33:20

+0

我用'$(this).closest('form')。submit()'和它现在的工作。谢谢! – 2012-03-01 04:06:57