首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我的表单中的每个字段都充当提交?

为什么我的表单中的每个字段都充当提交?
EN

Stack Overflow用户
提问于 2021-05-06 00:45:15
回答 1查看 38关注 0票数 0

由于某些原因,每当我测试这段代码并试图编辑一个字段时,它的行为就像我点击了“保存列表”按钮。我已经测试了注释掉if语句和文件上传,看看是否就是这样,但它仍然发生了。

这就是哈巴狗

代码语言:javascript
复制
        form.form.form-edit-listing
            .form__group
              label.form__label(for='name') Name
              input#name.form__input(type='text', value=`${product.name}`, required, name='name')
            .form__group.ma-bt-md
              label.form__label(for='price') Price
              input#price.form__input(type='number', value=`${product.price}`, required, name='price')
            .form__group.ma-bt-md
              label.form__label(for='description') Description
              input#description.form__input(type='text', value=`${product.description}`, required, name='description')
            if (product.currentAmount)
              .form__group.ma-bt-md
                label.form__label(for='startAmount') Amount
                input#startAmount.form__input(type='text', value=`${product.currentAmount}`, required, name='startAmount')
            if (product.willingToBreakAmount)
              .form__group.ma-bt-md
                label.form__label(for='willingToBreakAmount') Are you willing to break up the set?
                input#willingToBreakAmount.form__input(type='text', value=`${product.willingToBreakAmount}`, required, name='willingToBreakAmount')
            if (product.totalStartAmount)
              .form__group.ma-bt-md
                label.form__label(for='girlStartAmount') Amount of girl costumes
                input#girlStartAmount.form__input(type='number', value=`${product.girlStartAmount}`, required, name='GirlAmount')
              .form__group.ma-bt-md
                label.form__label(for='boyStartAmount') Amount of boy costumes
                input#boyStartAmount.form__input(type='number', value=`${product.boyStartAmount}`, required, name='startboyStartAmount')
            .form__group.form__photo-upload
              img.form__user-photo(src=`/img/users/${user.imageCover}`, alt='product cover image')
              input.form__upload(type='file', accept='image/*', id='imageCover', name='imageCover')
              label(for='imageCover') Choose new cover photo*/
            
            .form__group
              input.btn.btn--small.btn--green(type='submit' value='Save Listing')

这是提交表单时调用的函数

代码语言:javascript
复制
if (editListingForm) {
  editListingForm.addEventListener('click', e => {
    e.preventDefault();
    const form = new FormData();
    ...

    const model = getModel(window.location.toString());
    const id = getId(window.location.toString());
    editListing(form, id, model);
  });
}

这就是它更新列表的地方

代码语言:javascript
复制
export const editListing = async (data, id, model) => {
  try {
    await axios({
      method: 'PATCH',
      url: `/api/v1/${model}/${id}`,
      data
    });
    window.setTimeout(() => {
      location.assign('/my-listings');
    }, 150);
  } catch (err) {
    showAlert('error', err.response.data.message);
  }
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-06 00:48:25

您要将单击侦听器添加到窗体,而不是按钮。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67405494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档