javascript - 使用 javascript 返回表单的值

标签 javascript dynamic

我有一个带有下拉框、复选框和文本字段的 HTML 表单。

我正在寻找一种使用 JavaScript 返回表单值的解决方案。

换句话说,javascript 必须读取表单并返回输入的字段名称和值。

返回字符串应类似于以下内容:

ans00441, 908, txt00441, "我还不知道", ans00442, "国家 2", ans00442, "国家 3", ans00442, "国家 4", ans00444, "非常多", txt00444, "太多”

下面的 FORM1 已作为示例提交。

如有任何建议,我们将不胜感激。

表格1

<SCRIPT LANGUAGE="JavaScript">


function showResult(frm){
    alert('Display field names and values');
}   

 </SCRIPT>


            <table>
               <tr>
                  <td>
                     <h2 id="qst00441">For who will you vote</h2>
                     <br>
                     <input type="radio" name="ans00441" value="908 ">Party 1<br>
                     <input type="radio" name="ans00441" value="909 ">Party 2<br>
                     <input type="radio" name="ans00441" value="910 ">Party 3<br>
                     <input type="radio" name="ans00441" value="911 ">Party 4<br>
                     <br>Other Party<input type="text"  name="txt00441"  size="45" value="" ><br>
                  </td>
               </tr>
               <tr>
                  <td>
                     <h2 id="qst00442">Where do you live</h2>
                     <br>
                     <input type="checkbox" name="ans00442" value="912 ">Country 1<br>
                     <input type="checkbox" name="ans00442" value="913 ">Country 2<br>
                     <input type="checkbox" name="ans00442" value="914 ">Country 3<br>
                     <input type="checkbox" name="ans00442" value="915 ">Country 4<br>
                     <br>Other country <input type="text"  name="txt00442"  size="45" value="" ><br>
                  </td>
               </tr>
               <tr>
                  <td>
                     <h2 id="qst00444">How much do you earn</h2>
                     <br>
                     <input type="radio" name="ans00444" value="921 ">Not to much<br>
                     <input type="radio" name="ans00444" value="922 ">ok<br>
                     <input type="radio" name="ans00444" value="923 ">Very Much<br>
                     <br>Income <input type="text"  name="txt00444"  size="45" value="" ><br>
                  </td>
               </tr>
            </table>

            <INPUT TYPE="Button" VALUE="Submit" name="btnSubmit1" onClick="showResult(this.form);"

最佳答案

我还建议您在表单中使用 onSubmit 事件,但按钮中的 onClick 除外,因为您可能会遇到问题:用户可以在 input-text 中按 Enter 键 并且函数不会被处理。

这是代码(但您需要 jQuery),它会遍历 #form 中的每个输入并执行一些安全操作。

function showResult() {
    var result = '';
    $('#form input').each(function() {
        var self = $(this),
            type = self.attr('type'),
            name = self.attr('name'),
            value = self.val(),
            checked = self.is(':checked');

        if( value.length > 0 && type == 'text' || ( (type == 'radio' || type == 'checkbox') && checked) ) {
            result += name + ', ';
            result += value + ', ';
        }
    });
    $('#form').html(result);
}

这是 fiddle DEMO .

关于javascript - 使用 javascript 返回表单的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23789269/

相关文章:

javascript - 动态添加和删除iframe : Google red flag?

javascript - knockout : Click button created server side

PHP 获取数组变量提交后的值

javascript - 如何在新的 @sentry/node API 中包含标签?

javascript - 带有文本的 POST 请求

javascript - OneDrive for Business 是否有提供文件/文件夹选择器控件的客户端 javascript 库?

css - 具有绝对位置的div中的水平居中动态图像

javascript - 如何在另一个函数的函数中使用一个函数

javascript - 如何以编程方式在初始化程序中创建对象键?

java - 调整原始二维数组的大小