合并表单和字段集不起作用? [英] Merging form and fieldset doesn't work?

查看:85
本文介绍了合并表单和字段集不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个<form>可以上传图像,并且有一个<fieldset>可以使用AJAX发送一些数据,它们都可以正常工作,但是当我尝试以一种形式将它们合并时,就会出现我的问题.我正在使用Node.JS服务器.

I've a <form> to upload an image and a <fieldset> to send some data using AJAX, they both work fine, but my problem happens when I try to merge them in one form. I'm using Node.JS server.

上传<form>:

Upload <form>:

<form method="post" enctype="multipart/form-data" action="upload">
 <input type="file" name="upl"/>
 <input type="submit" value="Send"/>
</form>

Node.JS路由器上传帖子:

router.post('/upload', upload, function (req, res, next) {

    console.log(req.file);
    res.status(204).end();

});

<fieldset>:

<fieldset>:

<div id="addAdv">
  <fieldset class="form-group">
    <label for="inputTimeStamp">Time</label>
    <input id="inputTimeStamp" type="text" class="form-control"/><br/>
    <label for="inputURL">URL</label>
    <input id="inputURL" type="url"/><br/>
    <button id="btnAddAdv" type="submit" class="btn btn-primary">Submit</button>
  </fieldset>
</div>

Node.Js路由器数据发布:

router.post('/addadv', function(req, res) {

    Feed.collection.insert(req.body, function(err, result){
        res.send(
            (err === null) ? { msg: '' } : { msg: err }
        );
    });
});

AJAX:

$('#btnAddAdv').on('click', addAdv);

function addAdv(event) {
.....
$.ajax({
    type: 'POST',
    data: newUser,
    url: '/addadv',
    dataType: 'JSON'
}).done(function( response )...}

让我们尝试合并它们:

<div id="addAdv">
 <form method="post" enctype="multipart/form-data" action="upload">
  <fieldset class="form-group">
    <input type="file" name="upl"/>
    <label for="inputTimeStamp">Time</label>
    <input id="inputTimeStamp" type="text" class="form-control"/><br/>
    <label for="inputURL">URL</label>
    <input id="inputURL" type="url"/><br/>
    <input type="submit" id="btnAddAdv" value="Send"/>
  </fieldset>
 </form>
</div>

也尝试过:

<button id="btnAddAdv" type="submit">Send</button>

推荐答案

如果您是通过提交"按钮而不是XHR提交合并的表单,那么您需要为非文件字段添加name属性,否则浏览器将不会将它们发送到服务器.

If you're submitting your merged form via the submit button and not via XHR, then you need to add name attributes for your non-file fields, otherwise the browser will not send them to the server.

这篇关于合并表单和字段集不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆