我的网络有一个小问题。我在外部文件中有表格,如下所示。
<form action="/action.php" method="post" id="formularz_dodaj" target="iframe_id">
<fieldset>
<input type="hidden" name="ac" value="groups_save" />
<ul>
<li>
Some fields here
</li>
<li class="buttons">
<input type="submit" class="zapisz" value="Zapisz" />
<input type="button" class="anuluj" value="Anuluj" />
</li>
</ul>
</fieldset>
</form>
<script type="text/javascript">
//<![CDATA[
$j('.zapisz').button().click(function(){
$j('.anuluj').hide();
});
$j('.anuluj').button().click(function(){
$j('#dialog').dialog('close');
});
//]]>
</script>
如您所见,除了按钮之外没有什么特别之处。结果表单通过 jQuery 获取样式按钮。按钮<input type="submit" class="zapisz" value="Zapisz" />
应该像正常提交一样工作,<input type="button" class="anuluj" value="Anuluj" />
应该只是关闭对话框。此表单通过 jQuery ajax() 方法放置在对话框中,如下所示:
var $j = jQuery.noConflict();
var main = new Object();
$j.extend($j.ui.dialog.prototype.options, {
modal: true,
resizable: false,
width:'auto',
height:'auto',
show:{
effect:'fade',
duration:'fast'
},
hide:{
effect:'fade',
duration:'fast'
},
open:function(){
$j(this).find("input[type=text], input[type=password], input[type=checkbox], select, textarea").uniform();
}
});
main.dialog = function(ob){
if(ob.url){
var url = arguments.url;
var dialog = $j("#dialog");
if ($j("#dialog").length == 0) {
dialog = $j('<div id="dialog" class="dialog" title=""></div>').appendTo('body');
}
if(ob.title){
dialog.attr('title', ob.title);
}
$j.ajax({
type:'POST',
dataType:'html',
data:ob.dane,
url:ob.url,
success:function(d){
if(d == 'uprawnienia'){
main.alert({
text:'Nie posiadasz uprawnie\u0144 do tej operacji.',
title:'Brak uprawnie\u0144'
});
} else {
$j("#dialog").html(d);
$j("#dialog").dialog({
title:$j("#dialog").attr('title')
});
}
},
error:function(){
alert('Niepoprawne rz\u0105danie.');
}
});
} else {
alert('Brak pliku do za\u0142adowania.');
}
}
数据的目标是放置在主索引文件中的 iframe。
<iframe name="iframe_id" id="iframe_id" src="" style="display:none; width:400px; height:200px;"></iframe>
当我使用带有“.zapisz”类的按钮时会发生什么,在特定浏览器中没有任何反应:IE8、Chrome、Safari。在 IE9 和 FireFox 中,它可以正常工作。
我已经在我的任何浏览器中检查了控制台,并且没有错误。没有来自表单的数据发送到 iframe。只执行 click 方法中添加的 JS。
按钮“.zapisz”仅在document.getElemntById('formularz_dodaj').submit();
以单击功能编写时才能正常工作。
任何人都知道有什么问题吗?