我有一个包含多个文本区域的视图,这些区域是在循环中生成的。我想使用jQuery传递表单提交的值。我使用下面的代码来调用操作结果:
var url = "/Template/DATA";
var form = $('<form action="' + url + '" method="post">' +
'<input type="text" name="TemplateID" value="' + TemplateID + '" />' +
'<input type="text" name="SectionID" value="' + SectionID + '" />' +
'<input type="text" name="StartDate" value="' + StartDate + '" />' +
'<input type="text" name="EndDate" value="' + EndDate + '" />' +
// here i want to pass the values of the text areas to the action result
'</form>');
$('body').append(form);
form.submit();
答案 0 :(得分:1)
使用html / jquery / ajax怎么样?
<form id="form" action="" method="post">
<input type="text" id="template" name="TemplateID" value="" />
<input type="text" id="section" name="SectionID" value="" />
<input type="text" id="start" name="StartDate" value="" />
<input type="text" id="end "name="EndDate" value="" />
<button type="submit">Submit</button>
</form>;
在文档加载时为from赋值,并为发送序列化数据。
jQuery(document).ready(function ($) {
$('#template').val('Template');
$('#section').val('section');
$('#start').val('start');
$('#end').val('end');
$('#form').on('submit', function (e) {
e.preventDefault();
$.ajax({
url: 'js/ajax.php',
type: 'POST',
data: $(this).serialize(),
dataType: 'json',
beforeSend: function () {
},
success: function (data, textStatus, xhr) {
console.log(data);
console.log(data.status);
},
error: function (xhr, textStatus, errorThrown) {
console.log(textStatus);
console.log(errorThrown);
console.log(data.status);
}
});
});
});
然后在php中访问数据,就像访问任何其他帖子数据一样
if($_POST){
$template = $_POST['template'];
$section = $_POST['section'];
$start = $_POST['start'];
$end = $_POST['end'];
/** Do whatever with this data */
$result = $template . $section . $start . $end
echo json_encode(array('status' => 'ok', 'result' => $content));
} else {
echo json_encode(array('status' => 'error'));
}