javascript post submit与input submit click不同?

javascript post submit与input submit click不同?,javascript,html,Javascript,Html,我有这个密码 <html> <include jquery> <script> function crea() { var html = '<form method="get" id="popUpForm" name="popUpForm" action="form_ricorda_dati.php"><hr /><input type="hidden" name="mio" value="1" />inp

我有这个密码

<html>
<include jquery>
<script>
  function crea()
  {
     var html = '<form method="get" id="popUpForm" name="popUpForm" action="form_ricorda_dati.php"><hr /><input type="hidden" name="mio" value="1" />input3<input type="text" name="input3" value="" /><br />input4<input type="text" name="input4" value="" /><br /><input type="submit" id="11" value="Procedi" /></form><br /><a href="" onClick="prova()">submit</a>';
     var div = document.getElementById('cont');
     div.innerHTML = html;
  }

  function prova()
  {
     $('#popUpForm').submit();
  }

</script>
<body>
< a href="#" onClick="crea()">lancia funzione JS</a><br /><br />
<div id="cont"></div>
</body>
</html>

函数crea()
{
var html='
input3
input4

'; var div=document.getElementById('cont'); div.innerHTML=html; } 函数prova() { $('popUpForm')。提交(); } lancia funzione JS
此代码:

  • 当我点击
    时,它调用
    $(“#popUpForm”).submit()
    方式2:点击
  • 问题:

  • 如果我单击
    I 重新加载页面并查看正确的查询字符串(form
    action=“get”
    )。在里面 重新加载的页面,如果我“显示”表单并单击最后看到的输入 输入(浏览器自动填充正常)

  • 如果单击
    ,则在 没有看到查询字符串。在重新加载的页面中,如果我“显示”表单和 单击输入,我看不到最后一个输入(浏览器自动填充失败)

  • (我在Chrome和IE中看到了这个问题,但在Firefox中没有看到。)

    目标


    浏览器自动填充应该始终显示。

    依赖浏览器的自动填充可能不是一个好主意,因为不同的浏览器可能有不同的行为。现在,如果我正确地假设即使在服务器接收和处理表单数据之后,也希望字段中存在值,那么我建议您使用AJAX技术。在后台将表单数据发送到服务器,并在收到响应后仅显示结果。

    问题可能是在加载页面时,您使用JavaScript创建的HTML表单不在浏览器的DOM中。您可以通过将表单的HTML放入要在DOM中呈现的
    body
    标记中,并使用JavaScript将其隐藏,直到用户单击
    crea
    链接来解决此问题

    问题编号2似乎是您的链接(

    
    jQuery(函数(){
    var form=jQuery(“#form”),
    crea=jQuery(“#creaLink”),
    prova=jQuery('#provaLink');
    form.hide();
    crea.on('click',function(){
    form.show();
    });
    验证('单击',函数(){
    表单提交();
    });
    });
    


    输入3
    输入4


    与其说是答案,不如说是评论。我的想法是使用一个字段作为登录名和密码作为另一个字段。在这种情况下,此方法可能很有用。无论如何,感谢您的想法(如:tnx for post fix;)。鲍勃·克鲁特霍夫:好的,我理解这个问题。表单必须包含在html页面中。我想我会使用属性“display:none”(css)使其不可见。非常感谢!!(注:我测试它:firefox正常,chrome正常,ie失败。我必须查看ie选项:-o)
    <html>
        <head>
            <script type="text/javascript" src="url/to/jquery.js"></script>
            <script type="text/javascript">
                jQuery(function(){
                    var form = jQuery( '#form' ),
                        crea = jQuery( '#creaLink' ),
                        prova = jQuery( '#provaLink' );
    
                    form.hide();
    
                    crea.on( 'click', function(){
                        form.show();
                    });
    
                    prova.on( 'click', function(){
                        form.submit();
                    });
                });
            </script>
        </head>
        <body>
            <a href="#" id="creaLink">lancia funzione JS</a>
            <br />
            <br />
            <div id="form">
                <form method="post" id="popUpForm" name="popUpForm">
                    <hr />
                    <input type="hidden" name="mio" value="1" />
                    input3
                    <input type="text" name="input3" value="" />
                    <br />
    
                    input4
                    <input type="text" name="input4" value="" />
                    <br />
    
                    <input type="submit" id="11" value="Procedi" />
                </form>
                <br />
                <a href="#" id="provaLink">submit</a>
            </div>
        </body>
    </html>​