1、系统地查了一遍,没有逻辑上的错误,可是,就是出现了有时候能显示保存的数据,有时候不能显示的bug。后来一探究,推测出可能是异步执行的问题。就是先执行了我的函数,后显示内容,也就是我的函数落空了,没有对显示的内容执行成功任何内容。
1 ob.find("fieldset#create_new_vmware").show();
2 ob.find("input#create_new_vmware_children_1").val(window.url_5_iso_path);
3 ob.find("input#create_new_vmware_children_2").val(window.url_5_vmware_name);
4 ob.find("input#create_new_vmware_children_3").val(window.url_5_disk_name);
5 ob.find("input#create_new_vmware_children_4").val(window.url_5_disk_size);
6 ob.find("input#create_new_vmware_children_5").val(window.url_5_memory_size);
后来才发现,先执行了第2、3、4、5、6句语句,最后才执行了show()方法,因此前几句的执行都落空了,找不到对象,因为对象都在第一句要显示的内容中,可是当时第一句要显示的内容还是隐藏的,因此不起作用。。。
2、正确的代码如下:
ob.find("fieldset#create_new_vmware").fadeIn("fast",function(){
ob.find("input#create_new_vmware_children_1").removeAttr("disabled");
ob.find("input#create_new_vmware_children_1").val(window.url_5_iso_path);
ob.find("input#create_new_vmware_children_2").val(window.url_5_vmware_name);
ob.find("input#create_new_vmware_children_3").val(window.url_5_disk_name);
ob.find("input#create_new_vmware_children_4").val(window.url_5_disk_size);
ob.find("input#create_new_vmware_children_5").val(window.url_5_memory_size);
});
3、可见 IT中实践的重要性。