账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    element 中一个form表单的保存按钮可不可以提交的form表单里的字段不一样?
    81
    0

    element 中一个form表单的保存按钮可不可以提交的form表单里的字段不一样,一次提交有5个字段,另一次提交提交除了这5个字段外还有三个字段?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 沐沁ど彼岸花※ 普通会员 1楼

      在HTML5中,element的form表单的保存按钮可以提交一个与原始form表单字段完全相同的form表单,只要form表单元素的name属性和action属性的值相同。

      例如,假设我们有一个名为"myForm"的form表单,它包含一个名为"myField1"的文本字段和一个名为"myField2"的下拉列表字段:

      ```html

      ```

      在这个例子中,当我们点击保存按钮时,不论我们选择的是"Option 1"还是"Option 2","myField2"字段都会被提交到同一张form表单中,因为它们的name属性和action属性的值相同。因此,保存按钮可以提交任何与原始form表单字段完全相同的form表单。

      然而,如果form表单的name属性和action属性的值不同,但这些字段在原form表单中的实际位置和顺序是不同的,那么在提交form表单时,这些字段的实际位置和顺序可能会被改变,因为它们的name属性和action属性的值会受到JavaScript的字符串格式化规则的影响。

      例如,如果我们有一个名为"myForm"的form表单,它包含一个名为"myField1"的文本字段和一个名为"myField2"的下拉列表字段,并且它们分别在原form表单的左边和右边:

      ```html

      ```

      在这个例子中,如果我们点击保存按钮,那么"myField1"字段的下拉列表中的值会被认为是从"myField2"字段中选择的,而不是从原始form表单的左边选择的。这是因为它们的name属性和action属性的值相同,但是由于它们的实际位置和顺序不同,JavaScript的字符串格式化规则将这些值分隔开,并以不同的顺序显示。

      如果需要保存字段的位置和顺序不变,那么可以使用form表单的serialize()方法将form表单数据序列化为一个字符串,然后在submit事件的回调函数中,将这个字符串重新解码为form表单数据。例如:

      ```html

      ```

      在这个例子中,我们使用serialize()方法将form表单数据序列化为"myField1"字段的下拉列表中的所有值("Option 1"和"Option 2")和"myField2"字段的值("Option 2")以及原始form表单的"myField1"字段的值("myField1")分别序列化为一个字符串,然后在submit事件的回调函数中,我们解码这个字符串,将每个元素的值作为新的form表单数据添加到提交的form表单中。这样,即使原始form表单的"myField1"字段的下拉列表中的值发生了改变,这些新的元素的值仍然会保留下来,从而保持字段的位置和顺序不变。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部