javascript – Probleme bei der Verwendung von Elementui zum dynamischen Hinzufügen von Formularübermittlungen
PHP中文网
PHP中文网 2017-05-18 11:02:46
0
1
626

Ich verwende ein dynamisch hinzugefügtes Formular, um Bedingungen für Abstimmungsoptionen hinzuzufügen. Benutzer müssen mindestens zwei Elemente ausfüllen, wenn sie eine Abstimmung veröffentlichen. Ich kann bei der Übermittlung an den Hintergrund nicht mehrere Eingabeinhalte erhalten. Das Folgende ist der Code:
1 Dies ist ein dynamisches Formular

         <el-form :model="condition" ref="condition" label-width="60px" class="demo-dynamic" style="padding-right:0px;">
           <el-form-item
             prop="cona"
             label="投票条件"
           >
             <el-input v-model="condition.cona"></el-input>
           </el-form-item>
           <el-form-item
             prop="conb"
             label="投票条件"
           >
             <el-input v-model="condition.conb"></el-input>
           </el-form-item>
           <el-form-item
             :required = false
             v-for="(domain, index) in condition.domains"
             label="投票条件"
             :key="domain.key"
             :prop="'domains.' + index + '.value'"
           >
             <el-input v-model="domain.value"></el-input><el-button @click.prevent="removeDomain(domain)">删除</el-button>
           </el-form-item>
           <el-form-item>
             <el-button @click="addDomain">新增条件</el-button>
           </el-form-item>
         </el-form>
         

2. Das Folgende ist der VueJS-Codeteil:
data(){
return{

    condition: {
      domains: [{
        value: ''
      }],
      cona: '',
      conb:''
    }

}
}

3. Das Folgende ist die Code-Übermittlungsmethode mit postJsonp. Es gibt andere Optionen zur Beurteilung

  //发表投票
  handleThem: function () {
    // 防止类型为空
    if (this.themeType === 'undefined' || this.themeType === '') {
      this.dialog.text = '请选择话题类型'
      this.dialog.show = true
    // 判断标题
    } else if (this.title === 'undefined' || this.title === '') {
      this.dialog.text = '请输入标题'
      this.dialog.show = true
      // 判断投票条件
    } else if (this.condition === 'undefined' || this.condition === '') {
        this.dialog.text = '请输入投票条件'
        this.dialog.show = true
     // 判断内容
   } else if (this.editor.getContent() === 'undefined' || this.editor.getContent() === '') {
      this.dialog.text = '请输入内容'
      this.dialog.show = true
    } else {
      let postSubmit = document.getElementById('postSubmit')

      if (postSubmit.disabled) return
      postSubmit.value = '提交中...'
      // 禁用提交按钮
      postSubmit.disabled = 'true'
      postJsonp(config.ajaxUrl + '/total/theme/addTheme1', {
        title: this.title,
        content: this.editor.getContent(),
        themeType: this.themeType,
        condition:this.condition,
        tempFiles:this.dialogVisible,
        itype:this.value,
        count:this.count
      }, (response) => {
        if (response.ok === 1) {

          postSubmit.value = '发表'
          // 启动按钮
          postSubmit.removeAttribute('disabled')
          // 关闭弹窗
          this.$emit(this.hide())
          // 刷新列表
          this.$emit('success')
        } else {
          postSubmit.value = '发表'
          // 启动按钮
          postSubmit.removeAttribute('disabled')
          // 刷新列表
          this.$emit('success')
          this.dialog.text = response.msg
          this.dialog.show = true
        }
      })
    }
  },
  

4. Wenn ich einsende, Bedingung: [Objekt Objekt]

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(1)
淡淡烟草味

关键代码是addDomain,贴出来

同时,在chrome的开发者工具栏中看看你提交的数据是怎样的

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage