【问题标题】:submit form with specified commit parameter提交带有指定提交参数的表单
【发布时间】:2019-09-17 19:31:56
【问题描述】:

当我从按钮提交时,帖子有一个参数“commit”=>“保存更改”自动与按钮的文本关联

当我在脚本中提交时

document.choices.submit()

我没有得到这个参数,只有表单数据。我需要确定提交源,因此需要从脚本中指定一个“提交”值

如何添加“提交”参数。

【问题讨论】:

    标签: javascript submit form-submit


    【解决方案1】:

    由于表单事件在按钮单击之后,事件源将是表单,因此恕我直言,最好在点击事件提交之前检测点击:

    const myForm = document.getElementById('myForm');
    
    // Button #1
    document.getElementById('submit1').onclick = () => {
        console.log('submit1');
        myForm.submit();
    };
    
    // Button #1
    document.getElementById('submit2').onclick = () => {
        console.log('submit2');
        myForm.submit();
    };
    <Form id="myForm">
     <input type="text" />
     <button id="submit1">Submit #1</button>
     <button id="submit2">Submit #2</button>
    </Form>

    【讨论】:

    • 我不想有多个按钮——这无济于事,因为提交表单脚本仍然不会指定提交参数——只有表单数据。我不想使用输入...
    • 我正在添加一个确认对话框 - 该对话框将在确认时提交 - 它需要唯一标识自己 - 这当然是可能的。
    • 这取决于,如果clickon 不同的元素触发确认,则可以肯定,如果确认是由表单提交触发的,则不可能少于您将点击事件数据存储在某处。如果您提交更相关的代码,它将有所帮助
    【解决方案2】:

    也许使用&lt;button&gt; 而不是&lt;input type="submit" /&gt; 或为提交按钮添加方法preventDefault() 来跟踪您的问题并自定义按钮行为。

    【讨论】:

      【解决方案3】:

      好的 - 所以当我想到它时它非常简单 - 我只是在提交之前附加了一个包含我想要的详细信息的输入

      $dialogContainer.dialog({ 显示:'显示', 模态:真, dialogClass: '存档对话框', 纽扣: [ { 文本:“取消”, 类:'btn-secondary', 点击:函数(){ $(this).dialog('close') $(this).dialog('destroy').remove() } }, { 文本:“确认”, 类:'btn-primary', id: 'btn_confirm', 点击:函数(){ $(this).dialog('close') $(this).dialog('destroy').remove() $('form[name=choices]').append("") document.choices.submit() } }] }).prev().find('.ui-dialog-titlebar-close').hide() // 隐藏标准关闭按钮

      将输入附加到提交表单只是给了我从按钮提交的参数会给出..但带有新文本

      【讨论】:

      • $('form[name=choices]').append("")
      猜你喜欢
      • 1970-01-01
      • 2017-04-12
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      相关资源
      最近更新 更多