2011-09-23 64 views
0

我有一个页面,上面有一个表单,用户在注册个人档案之前访问并填写一些信息。表单下方预览了配置文件的外观。我有一些JavaScript,因此当用户键入表单中的框时,他们的配置文件的相应位填写他们正在键入的任何内容。 IE他们键入到'标题'表单输入,它会出现在id =“title”div下面。Ajax jQuery图片上传 - 新手问题什么是最好的方式来处理这个?

在这种形式下,我也有一个领域,所以用户可以上传照片。当用户选择他想上传的图片并关闭对话框时,我想调整大小(以便它符合我的最大高度/宽度要求)图像,以便也出现在表格下方的预览位中。所有这些都会在配置文件表单提交之前发生。

最好的方法是什么?我做了相当多的搜索,虽然有很多插件,但他们似乎都做了太复杂的事情或者错过了一些东西。任何人都可以告诉我处理这个问题的最佳方法吗?

谢谢:)

如果它让我使用CakePHP任何区别。

侧面的问题 - 有没有办法确保当选择文件对话框打开时,只有选择图像文件类型的选项。 IE所有的.doc .xlt等不在吗?

+0

@DamienPirsy感谢您的信息。我期望插件的原因仅仅是因为我是新来的JavaScript不用担心jquery,我没有一个秃子如何去做这一切:)你知道任何好的教程,我可以得到一个粗糙的大纲如何做我想做的事情? – weeJimmy

回答

0

至于你的第一个问题,你必须上传文件。因此,您需要上传图片并将其存储在临时位置,您仍然可以在IMG元素中进行流式传输。当用户保存表格时,您可以放弃临时图像。如果人们从不保存信息并离开,你可能还需要某种cron /计划任务清理它们。

至于你的第二个问题,不。您可以在选择文件后在客户端上检查它,但是我强烈建议您在服务器上再次检查它。

+0

感谢您的回复,我是JavaScript新手,所以真的不知道该怎么做。你知道任何类似的插件吗?或者它甚至是你建议使用的JavaScript?我真的很感激你的帮助:) – weeJimmy

+0

我不知道有任何插件可以做到这一切。文件不能通过ajax上传。但是你可以使用jQuery.form插件来处理文件上传,它将基本上创建一个隐藏的iframe并以此方式提交。将其上传到控制器中的特定操作,并将响应发送回客户端,其中包括有关如何使用正确的src填充IMG标记的一些数据。您的jquery.form插件的响应处理程序将为您提供信息,然后通过jQuery()。attr()方法填充元素。 – Gregg

相关问题