我正在使用Django 1.6开发项目。当我点击"快速上传"我弹出一个弹出框。在那里,我将给出一个文件夹的路径并说出#34;好的"但问题是当我点击" OK"一次然后"功能事件()"被称为4次。请帮助我这方面。代码如下所示。
<input type="hidden" id="name" name="name" value={{name}}>
<input id="button" onclick="quickupload();" class="css_button" value="Quick Upload">
<script>
function quickupload()
{
$('div#dialog-confirm').dialog('open');
$( "#dialog-confirm" ).dialog
({
resizable:true,
height:150,
modal: true,
buttons:
{
"OK": function event()
{
var session1 = $("#name").val();
var fpath = $("#quick1").val();
listofpath=fpath.split("\\");
finalpath="";
for (i=0;i<listofpath.length;i++)
{
finalpath=finalpath+listofpath[i]+"@";
}
console.log(finalpath);
window.location.href = "/uploadquick/"+session1+"/"+finalpath;
},
}
});
}
</script>
答案 0 :(得分:0)
每次拨打quickupload()
时,您都会创建一个对话框对象。因此,每次单击OK
按钮时,您在对话框定义中传递给Quick Upload
的同一个处理程序会一次又一次地连接到OK按钮。而是在外面创建一个对话框对象,然后在其上打开,按钮点击就像这样
<script>
// create the dialog object outside
$( "#dialog-confirm" ).dialog({
resizable:true,
height:150,
modal: true,
buttons:
{
"OK": function event()
{
var session1 = $("#name").val();
var fpath = $("#quick1").val();
listofpath=fpath.split("\\");
finalpath="";
for (i=0;i<listofpath.length;i++)
{
finalpath=finalpath+listofpath[i]+"@";
}
console.log(finalpath);
window.location.href = "/uploadquick/"+session1+"/"+finalpath;
},
}
});
function quickupload() {
$('#dialog-confirm').dialog('open');
}
</script>
希望这会有所帮助:)