【问题标题】:Merging form and fieldset doesn't work?合并表单和字段集不起作用?
【发布时间】:2016-07-01 13:52:47
【问题描述】:

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

上传<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();

});

&lt;fieldset&gt;:

<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>

【问题讨论】:

    标签: javascript ajax node.js forms fieldset


    【解决方案1】:

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

    【讨论】:

    • 我为所有其他输入添加了名称,但仍然无法正常工作
    • 您是否在使用浏览器的 Web 开发人员工具的网络选项卡添加 name 属性后确认正在发送字段?
    猜你喜欢
    • 2014-02-19
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多