如何将文本区域值传递给控制器

时间:2016-02-25 14:48:41

标签: jquery asp.net-mvc asp.net-mvc-4 c#-4.0

我有一个包含多个文本区域的视图,这些区域是在循环中生成的。我想使用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();

1 个答案:

答案 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'));
}