0

ここにコードがあります

<script type='text/javascript'>

$("#focusform").submit(function(event) 
{

event.preventDefault();

  var $form = $( this ),

        usname = $form.find( 'input[name="name"]' ).val(),

        uspass = $form.find( 'input[name="pass"]' ).val();
        if($('#chk').is(':checked')) var checked='yes';
        else var checked='no';
          $.post("/login/submit/", { name: usname, pass: uspass, checkbox: checked, template_framed:"yes",submit: "yes" }, function(data)
 {


     if(data=='error'){
       alert("You have made an error");

       return false;

     }
     else{
        if(checked=='yes')window.location='/usercookie/';
        else window.location='/login/success/';
        return true;

     }
  });

 });

 </script>

しかし、ブラウザはパスワードを保存するかどうかを尋ねたくありません。手伝ってくれませんか?

4

3 に答える 3

1

事前チェックを行い、Ajax を使用して正しいことを確認します。これにより、エラーまたは成功メッセージが返されます。成功するとフォームの投稿が続行されます。それ以外の場合は、Ajax を使用してエラーが表示されます。

于 2012-12-03T12:04:50.207 に答える
0
<iframe id="temp" name="temp" src='/engine/blank.html' style="display:none"></iframe>
<form id='focusform' target='temp' method='post' onsubmit="return mySubmit()">
...
</form>
<script type='text/javascript'>

function mySubmit()
{

  var $form = $("#focusform"),

        usname = $form.find( 'input[name="name"]' ).val(),

        uspass = $form.find( 'input[name="pass"]' ).val();
        var checked = ($('#chk').is(':checked')?'yes':'no');
          $.post("/login/submit/", { name: usname, pass: uspass, checkbox: checked, template_framed:"yes",submit: "yes" }, function(data)
 {


     if(data=='error'){
       alert("<?=$lang['made_error']?>");

     }
     else{
        alert("Loged in");
     }
  });


}

 </script> 

そしてそれは動作します:)

于 2012-12-04T05:24:30.213 に答える
0

URL がなく、送信ボタンが<form>ない場合、ブラウザーはパスワードの保存を提案しません。actionパスワード フィールドも<input type="password" />.

そのようにjQueryでsubmit関数を割り当てようとするとうまくいきません:

$("#focusform").submit( ...

ただしonsubmit、フォームに属性を追加すると機能します。

<form id="focusForm" action="page.php" method="post" onsubmit="return mySubmit()">
                                                               ^^ here

次に、送信関数で false を返します。

function mySubmit()
{
    // do the jquery ajax or whatever you want to do here

    return false;
}
于 2012-12-03T12:06:05.403 に答える