我对CSS(3)和HTML(5)非常了解,但我目前的项目让我可以更进一步。然而,这对我来说是完全未知的地形。在我的项目中,我有一个textarea,用户可以在其中提交一些XML,然后我使用jQuery的$.parseXML
方法进行解析。但是,我想添加上传XML文件的功能。
我认为上传按钮看起来像这样:
<form name="upload-form" action="???" method="???">
<input type="file" name="upload-field">
</form>
但是,我不知道动作和方法应该是什么样子。因为我停留在同一页面上并且没有任何壮观的事情应该发生,我猜测动作属性可以省略吗? method-attribute可能是get
,而不是post
?的(1)
然后是什么?我不知道如何从我的jQuery解析器中获取上传的XML文档中的数据。 (2)另外,如何检查正确的文件类型?这个是否发生在服务器端?的(3)
答案 0 :(得分:0)
action包含将接收表单数据的服务器端脚本的名称。使用post时,浏览器不会将输入字段的内容解析为url。 服务器端脚本,例如在php中将收到请求,进行安全检查并保存数据。
<form name="upload-form" action="serversidescript.php" method="post">
<input type="file" name="upload-field">
<input type="submit" value="Submit">
</form>
serversidescript.php
<pre>
<?php
print_r($_REQUEST); // shows the array containing the form data
答案 1 :(得分:0)
将方法留空并使用post方法。使用post for files非常重要,因为它具有安全功能,允许您上传更多数据。
因为它上传文件需要添加enctype,enctype =&#34; multipart / form-data&#34;或者它不会工作
<form name="upload-form" action="" method="post" enctype="multipart/form-data" >
<input type="file" name="upload-field">
<input type="submit" value="Submit">
</form>
然后解析文件,需要使用jquery读取xml文件,然后根据需要编写解析器函数。
//write the custome parse function
function parse(data){
//code for your parse function goes here.
// to append the file to html, I need the actual structure of the file to show you
}
//this reads the xml file using jquery
$.ajax({
url: 'name.xml', // name of file you want to parse
dataType: "xml",
success: parse, //this calls the parse function
error: function(){alert("Error: Something went wrong");}
});