0

私は2つの送信ボタンを持つhtmlのフォームを持っています。どちらかが有効になっています。ユーザーがフォームに入力している場合、送信が有効になり、他のボタンが無効になります。ユーザーが送信ボタンをクリックすると、他のボタンが有効になり、すべてのフィールド値が読み取り専用で表示されます。2番目のボタンをクリックすると、jqueryまたはjavascriptを使用して値がデータベースに入力され ます

$('input[type="text"]').each(function(){
            $(this).attr('readonly','readonly');
});
4

2 に答える 2

1

あなたの質問を正しく読んだ場合、最初のボタンは実際にはフォームを送信しませんか?

$("#firstbutton").click(function() {
    $("#myForm input").attr("readonly", "readonly"); //this makes the input fields readonly

    $("#secondbutton").attr("disabled","disabled"; //this enable the second button

    $(this).removeAttr('disabled'); //this disables the #firstbutton
}

次のことを確認してください。

  • ページの読み込み時に、2 番目のボタンは既に無効になっています。
  • フォームにドロップダウンリストがある場合、それらはアイテムではないため、それらも読み取り専用に設定する必要があり<input>ます<select>
  • firstbutton は oftype="submit"であってはなりません。代わりに oftype="button"または<button>タグである必要があります。
  • 2 番目のボタンは通常の送信ボタンにすることができます。特別なことは何も必要ありません。フォームが正しいアクションリンクに投稿されている限り、フォームは正常に送信されます。
  • disabled入力フィールドで属性を使用しないでください。その場合、フォーム送信はこれらのフィールドを無視し、意図したとおりに投稿しません。読み取り専用を使用することで、すでに正しく行っています。
于 2013-03-20T09:11:46.673 に答える
0
$(document).ready(function(){
  $('#myForm').submit(function(e){
    e.preventDefault();

    $myForm = $(this);

    $myForm.find('input[type=submit]').attr('disabled','disabled');
    $myForm.find('input#other-button').attr('enabled','enabled');


    //do a $.post request
    $.post('/path/to/my-file.php',
           $myForm.serialize(),
           function(data){
             // make something after the post is complete
             $myForm.find("input[type=text]").attr('readonly','readonly');
           },
           'json');
  });
});
于 2013-03-20T09:08:48.767 に答える