2016-08-24 10 views
2

JQueryから送信機能をトリガーしようとしています。私は何を間違えているのですか?理論的には、これはうまくいくはずです。私は約4つの異なる方法を試みました。強制フォーム送信ボタンjqueryでクリック

私は

$('input#submit').trigger("click"); 

$(form:first).submit(); 

$(form:first).trigger("submit"); 

$('form#databaseActionForm').submit(); 

NOTHNGは(まだ)働いて試してみました!

CODE:

<html lang="en"> 
<head> 
    <title>Database Management</title> 
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 
     <script src="http://code.jquery.com/jquery-3.1.0.min.js" integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=" crossorigin="anonymous"></script> 
     <style> 
      table td { border: 1px solid black; } 
      table td:first-child { text-align: left; } 
     </style> 
    <script> 
     <!-- 
     $(document).ready(function() { 
      $('#erase').click(function() { 
       if (confirm("Are you sure that you want to ERASE ALL DATA from the database?")) 
       { 
        $('#buttonTypePressed').val("erase"); 
        $('input#submit').trigger("click"); <!-- HERE --> 
       } 
      }); 

      $('#update').click(function() { 
       var appID = $('#updateAppID').val(); 
       var field = $('#fieldName').val(); 
       var value = $('#newValue').val(); 

       if (appID == null || appID == "") { 
        alert("You must enter the ID number of the entry you wish to modify."); 
        $('#updateAppID').focus(); 
       } 
       else if (field == null || field == "") { 
        alert("You must choose which field you wish to modify."); 
        $('#fieldName').focus(); 
       } 
       else if (value == null || value == "") { 
        alert("You must choose the new value you wish to appear in the database."); 
        $('#newValue').focus(); 
       } 
       else { 
        $('#buttonTypePressed').val("update"); 
        $('input#submit').trigger("click"); <!-- HERE --> 
       } 
      }); 

      $('#delete').click(function() { 
       var appID = $('#deleteAppID').val(); 

       if (appID == null || appID == "") { 
        alert("You must enter the ID number of the entry you wish to delete."); 
        $('#deleteAppID').focus(); 
       } 
       else { 
        $('#buttonTypePressed').val("delete"); 
        $('input#submit').trigger("click"); <!-- HERE --> 
       } 
      }); 
     }); 
     --> 
    </script> 
</head> 
<body> 
    <div id="container"> 
     <from id="databaseActionForm" name="databaseActionForm" method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>"> 
      <table border=0 style="margin: 50px auto; text-align: right;"> 
       <tr style="text-align: center; font-weight: bold; font-size: 1.5em; text-decoration: underline;"> 
        <th>Action</th> 
        <th>Additional Info</th> 
        <th>Button</th> 
       </tr> 
       <tr name="Clear"> 
        <td>Erase Database</td> 
        <td style="text-align: center;">ARE YOU SURE?</td> 
        <td><input type="button" id="erase" name="erase" value="ERASE ALL?" /></td> 
       </tr> 
       <tr name="Update"> 
        <td>Update Value</td> 
        <td> 
         Entry ID: <input type="text" id="updateAppID" name="updateAppID" placeholder="App entryID" /><br /> 
         Field Name: <input type="text" id="fieldName" name="fieldName" placeholder="Field to change" /><br /> 
         New Value: <input type="text" id="newValue" name="newValue" placeholder="New value" /><br /> 
        </td> 
        <td><input type="button" id="update" name="update" value="Update Value" /></td> 
       </tr> 
       <tr name="Delete"> 
        <td>Delete Payment</td> 
        <td> 
         Entry ID: <input type="text" id="deleteAppID" name="deleteAppID" placeholder="App entryID" /> 
        </td> 
        <td><input type="button" id="delete" name="delete" value="Delete Entry" /></td> 
       </tr> 
      </table> 
      <input type="hidden" id="buttonTypePressed" name="buttonTypePressed" /> 
      <input type="submit" id="submit" name="submit" value="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;" tabindex="-1"/> 
     </form> 
    </div> 
</body> 

+0

試し 'document.databaseActionForm.submi –

+0

@ Karthikeyan.Vはこれを試みました。また、 'document.getElementByID( 'databaseActionForm')。submit();'が動作しませんでした。 –

+0

'

'要素を ' '要素? – nnnnnn

答えて

1

2つの問題は1、要素名formのタイプミスです、あなたはfromとしてそれを持って、ここにあります。

もう一つは、送信ボタンの名前/ IDであることがform要素

<input type="submit" id="bsubmit" name="bsubmit" value="submit" style="position: absolute; left: -9999px; width: 1px; height: 1px;" tabindex="-1" /> 

のデフォルトsubmitプロパティ(関数)をオーバーライドしますと、それは、それからちょうどに以下のスニペットを使用submitすべきではありませんフォームを送信

$('#databaseActionForm').submit(); 

デモ:Fiddle

+0

YUP、ミスペルが問題でした。私はJSで遊んで何時間も座っていましたが、それは単なるスペルミスでした。恥! –

1

私はこの問題は、あなたが "から" と "フォーム" をスペルミスだと思います。構文の強調表示を確認してください。その後、これらのいずれかが動作します:

$('form#databaseActionForm').submit(); 

$('#databaseActionForm').submit(); // referencing the form's ID 

document.databaseActionForm.submit(); // referencing the form's NAME 
関連する問題