Я пытаюсь сделать то, что опубликовано здесь, но в моем случае мне пришлось немного изменить его, поскольку представление MVC имеет несколько форм тегов при визуализации. Мне нужны "файлы", которые можно назвать теми же именами, что и существующий файл. Мне также может потребоваться добавить новые имена и описания для каждого нового окна, но havnt получил еще далеко.
Мой взгляд:
<div id="dialog1" title="Upload Multiple Files">
<% using (Html.BeginForm("MyAction", "MyController", new { path = Model.FullPath }, FormMethod.Post, new { enctype = "multipart/form-data", id = "uploadsfrm" }))
{%>
<p>
<input type="file" id="file1" name="fileUpload" size="23" />
</p>
<p>
Title</p>
<input type="text" id="Text1" name="txtNiceName" style="width: 100%;"/>
<p>
Description</p>
<input type="text" id="Text2" name="txtDescription" style="width: 100%;"/>
<INPUT type="button" value="Add" onclick="addbox('file')"/>
<span id="addBoxes"> </span>
<p>
<input type="submit" value="Upload file" /></p>
<% } %>
</div>
сценарий:
function addbox(type) {
var element = $("#uploadsfrm").createElement("input");
element.setAttribute("type", type);
element.setAttribute("value", type);
element.setAttribute("name", type);
var foo = $("#uploadsfrm").getElementById("addBoxes");
foo.appendChild(element);
}
Ошибка, которую я получаю в Firebug, когда я нажимаю кнопку добавления, говорит: "TypeError: $ (...). CreateElement не является функцией"
Может кто-нибудь объяснить? Заранее спасибо.
Вы используете jQuery.
jQuery не включает функцию .createElement()
. Вот почему вы получаете эту ошибку.
Если вы хотите создать новый элемент с помощью jQuery, вам просто нужно выполнить функцию $
с тегом элемента как параметром.
var element = $("<input>")'//in this example, we create a new input.
Если вы хотите добавить этот элемент в другой, вам просто нужно выполнить .append()
например:
$("#uploadsfrm").append(elememt);
Вы также можете определить свои атрибуты с помощью функции $
.
Пример:
function create(){
//new Input stored in element
var element = $("<input>",{
//your Attributes
name:"theInputName",
placeholder: "yourPlaceholder"
});
//appending your New input
$("#yourAppendID").append(element);
}