Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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 获取表单html及其值_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript 获取表单html及其值

Javascript 获取表单html及其值,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,考虑以下html: <form onsubmit="alert( $(this).html() );return false"> <input type='text' name='test'/> <input type='submit' value='Submit'/> </form> 如果在输入框中键入一些文本,则html不会捕获该值。如何获取原始表单html及其输入值?值属性等与表单元素不同步。您可以使用这样的代码,但前提是您

考虑以下html:

<form onsubmit="alert( $(this).html() );return false">
    <input type='text' name='test'/>
    <input type='submit' value='Submit'/>
</form>
如果在输入框中键入一些文本,则html不会捕获该值。如何获取原始表单html及其输入值?

值属性等与表单元素不同步。您可以使用这样的代码,但前提是您的表单只包含具有适当值的输入,例如没有选择、复选框和单选元素

$('form').submit(function(e) {
    e.preventDefault();
    $(':input', this).each(function() {
        var $this = $(this);
        $this.attr('value', $this.val());
    });
    alert($(this).html());
});
不要忘记从HTML中删除onsubmit代码。如果您有多个表单,请将$'form'替换为$'someid',并将id=someid添加到表单标记。

值属性等与表单元素不同步。您可以使用这样的代码,但前提是您的表单只包含具有适当值的输入,例如没有选择、复选框和单选元素

$('form').submit(function(e) {
    e.preventDefault();
    $(':input', this).each(function() {
        var $this = $(this);
        $this.attr('value', $this.val());
    });
    alert($(this).html());
});

不要忘记从HTML中删除onsubmit代码。如果您有多个表单,请将$'form'替换为$'someid',并将id=someid添加到表单标记中。

使用Jquery,您可以这样做

<form id='form'>
    <input type='text' name='test' id='name'/>
    <input type='submit' value='Submit'/>
</form>

使用Jquery,您可以这样做

<form id='form'>
    <input type='text' name='test' id='name'/>
    <input type='submit' value='Submit'/>
</form>

+1答案很好,我自己也在尝试同样的方法。不幸的是,$this.attr'value',$this.val没有将value标记添加到输入元素中,至少在FF.Hrm中,听起来jQuery对value做了一些自定义处理。在本例中,请尝试此.setAttribute'value',$this.val+1答案很好,我自己也在尝试同样的方法。不幸的是,$this.attr'value',$this.val没有将value标记添加到输入元素中,至少在FF.Hrm中,听起来jQuery对value做了一些自定义处理。在本例中,请尝试此.setAttribute'value',$this.val;