Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户单击submit时,是否有方法将值从按钮传递到表单?_Javascript_Html_Jquery_Json_Forms - Fatal编程技术网

Javascript 当用户单击submit时,是否有方法将值从按钮传递到表单?

Javascript 当用户单击submit时,是否有方法将值从按钮传递到表单?,javascript,html,jquery,json,forms,Javascript,Html,Jquery,Json,Forms,我试图从5个按钮中获取值,无论用户选择哪个按钮,然后在他们填写表单后,我希望他们选择的按钮值显示在摘要屏幕上 是否有方法获取按钮的值以及所有其他表单详细信息,然后将所有这些详细信息发送到显示用户输入的所有信息的新屏幕?类似于确认屏幕的东西,在他们发送询问之前确认所有细节 我一直在尝试: 按钮: <div class="card"> <h1 id="size">Select your size*</h1> <ul class="size-list"

我试图从5个按钮中获取值,无论用户选择哪个按钮,然后在他们填写表单后,我希望他们选择的按钮值显示在摘要屏幕上

是否有方法获取按钮的值以及所有其他表单详细信息,然后将所有这些详细信息发送到显示用户输入的所有信息的新屏幕?类似于确认屏幕的东西,在他们发送询问之前确认所有细节

我一直在尝试:

按钮:

<div class="card">
  <h1 id="size">Select your size*</h1>
  <ul class="size-list">
    <li>
      <button class="size-link" id="size-button" value="Small">
        Small
      </button>
    </li>
    <li>
      <button class="size-link" id="size-button2" value="Medium">
        Medium
      </button>
    </li>
    <li>
      <button class="size-link" id="size-button3" value="Large">
        Large
      </button>
    </li>
    <li>
      <button class="size-link" id="size-button4" value="X Large">
        X Large
      </button>
    </li>
    <li>
      <button class="size-link" id="size-button5" value="XX Large">
        XX Large
      </button>
    </li>
  </ul>
</div>
我想从上面的每个按钮以及下面表单中获取所有信息的值,并将其发送到摘要屏幕

表格:

摘要屏幕:

<div id="app" class="contact-main">
  <form id="myform" class="contact-form"></form>
</div>
Javascript:

const urlName=new urlocation.href; document.getElementById'app'.innerHTML=` 全名:${urlName.searchParams.getname | | N/A} 电子邮件:${urlName.searchParams.getemail | | N/A} 所选项目的大小:${urlName.searchParams.getsizes | | N/A} 你觉得这个东西比竞争对手便宜吗 网站 ${urlName.searchParams.getradio | | N/A} 竞争对手URL:${urlName.searchParams.geturl-link | | N/A} 查询信息:${urlName.searchParams.getmessage | | N/A} `;
我可以从表格中获取所有信息,但所选项目的大小除外。我知道这是因为我试图从url.searchPram中检索它,但是表单中没有按钮,所以我只是想知道是否还有其他方法?

关于:是否有方法获取按钮的值

我想你是指点击按钮的值。是的,有一种方法,通过设置单击侦听器

您可以在包含按钮的父级上只设置一个按钮,而不是为每个按钮设置单击侦听器。为了简化操作,请为封装设置一个id:

您现在拥有单击按钮的值

将按钮的值存储到表单元素中

如果需要将该值存储到表单元素中,以便在提交表单时包含该值,也可以通过隐藏输入来完成。让我们创建一个id和名称为size的:

<form method="GET" action="final.html" id="myform" class="contact-form">

  <input type="hidden" id="size" name="size" value="" />

</form>

仅此而已,提交表单时将发送大小值。

关于:是否有方法获取按钮的值

我想你是指点击按钮的值。是的,有一种方法,通过设置单击侦听器

您可以在包含按钮的父级上只设置一个按钮,而不是为每个按钮设置单击侦听器。为了简化操作,请为封装设置一个id:

您现在拥有单击按钮的值

将按钮的值存储到表单元素中

如果需要将该值存储到表单元素中,以便在提交表单时包含该值,也可以通过隐藏输入来完成。让我们创建一个id和名称为size的:

<form method="GET" action="final.html" id="myform" class="contact-form">

  <input type="hidden" id="size" name="size" value="" />

</form>
仅此而已,提交表单时将发送大小值。

解决方案: 在表单上为数据添加隐藏输入。根据您的HTML和JavaScript,它将是:

<input type="hidden" id="sizes" name="sizes" value="Medium">
或者直接在HTML中为每个按钮添加一个onclick:

<button class="size-link" value="..." onclick="recordButtonSize">...</button>
注:

我不知道按钮元素是否允许有值属性,所以您可能需要将其切换到数据集。 此解决方案获取放置在表单输入中的大小,但不提交表单。这并不难添加,但我将把它作为一个练习留给你们去理解。 这个答案使用了旧的和新的JavaScript的混合,除了IE 11之外,它在任何现代浏览器上都能正常工作。请看这里: 解决方案: 在表单上为数据添加隐藏输入。根据您的HTML和JavaScript,它将是:

<input type="hidden" id="sizes" name="sizes" value="Medium">
或者直接在HTML中为每个按钮添加一个onclick:

<button class="size-link" value="..." onclick="recordButtonSize">...</button>
注:

我不知道按钮元素是否允许有值属性,所以您可能需要将其切换到数据集。 此解决方案获取放置在表单输入中的大小,但不提交表单。这并不难添加,但我将把它作为一个练习留给你们去理解。 这个答案使用了旧的和新的JavaScript的混合,除了IE 11之外,它在任何现代浏览器上都能正常工作。请看这里:
谢谢你的回复。为了将单击按钮的值发送到HTML表单,您是否知道如何执行此操作?@ehsaanali我已更新了有关如何将按钮值传递到表单的信息。感谢您的帮助,Terry,非常感谢。感谢您的回复。为了将单击按钮的值发送到HTML表单,您是否知道如何执行此操作?@ehsaanali我已更新了有关如何将按钮值传递到表单的信息。非常感谢您的帮助,Terry,非常感谢。
function recordButtonSize(){
    // Get the element that was clicked on.
    var elem = event.target || event.srcElemnt;

    // Depending on browsers / where the user clicked we may not be on the button.
    if( elem.nodeName != 'BUTTON' ){
        elem = elem.closest('button');
    }

    // Now pull the value from the button and place in the hidden input.
    document.getElementById('sizes').value = elem.value;
}