2015-12-21 60 views
3

我有一個帶複選框的表格表。我想讓用戶檢查他們想要刪除的URL(元素),按一個按鈕,然後調用一個「delete.php」文件,刪除mysql中的記錄。在不提交按鈕的情況下調用php文件

我很難找到如何做的是使用窗體外部的按鈕調用delete.php文件。我知道你通常會在表單中使用提交按鈕,但在這種情況下,我正在探索是否可以用外部按鈕來實現。

附上圖片來說明我爲什麼要這樣做。底部的url菜單被一個函數調用,因爲我希望它是模塊化的。所以我認爲「刪除BM」問題需要能夠執行刪除選中的複選框。

enter image description here

我用Google搜索了多種搜索案件真的不回答我的問題:

How to send checkbox state through form in a table

Search "php how to call php file outside form"

Search "how to call php file without submit button"

Call php file without using form action

Submit without submit button

回答

1

在過去我也碰到過這種問題,希望對佈局/演示原因形式之外的提交按鈕。經過一番思考和閱讀,我瞭解到有一些很好的理由可以避免這樣做;

  • 更改瀏覽器的默認行爲通常是一個壞主意,你做額外的工作,爲自己和最終很可能使事情變得複雜,往往也會導致混亂的用戶。 (例如:如果用戶點擊輸入,會發生什麼情況,它仍然會提交表單嗎?)

  • 沒有最新的javascript或沒有打開它的用戶將無法使用您的表單/現場。

  • 你可以實現你想要的,並仍然使用標準的html提交按鈕。使用CSS使它看起來像文本鏈接,這是一個很好的例子;

How to make a submit button display as a link?

在您的例子我個人只是有提交按鈕顯示爲一個按鈕(風格相匹配的網站設計)直屬複選框,從下面的菜單分開。因爲這對我來說最有意義,並且會爲您節省一些工作,因爲您不需要擺弄菜單功能。

但是,如果您希望完全按照您的設置實現,您可以將按鈕(html字符串)作爲參數傳遞給您的函數,以便它可以輸入到菜單列表中,然後返回所有菜單html字符串和在你的表格中打印;

<form> 
<input type="checkbox" name="1" /><br /> 
<input type="checkbox" name="2" /><br /> 
<input type="checkbox" name="3" /><br /> 
<?php 
    $buttonHtml = '<input type="submit" name="delete_bm" value="delete bm" class="submitLink" />'; 
    echo navMenu($buttonHtml); 
?> 
</form> 

現在提交標籤是表單標籤內(並且將表現爲如預期),它是簡單地使用CSS樣式,這些和任何其他元素,給你你想要的演示文稿的情況下(可能需要從表單元素中刪除填充,餘量等)。

.submitLink { 
    font: inherit; 
    background-color: transparent; 
    text-decoration: underline; 
    border: none; 
    color: blue; 
    cursor: pointer; 
} 

.submitLink:focus { 
    outline: none; 
} 

form{ 
padding: 0; 
margin: 0; 
} 

最大的好處是,現在你不需要任何不必要的JavaScript,從而提供最大的可訪問性和維護用戶期望的功能。 對我來說也不那麼複雜,並且不太可能需要更新。請注意:如果您的表單允許用戶一次刪除多個書籤(看起來應該是這樣),您可能希望按鈕上的文本可以閱讀;刪除書籤希望你曾考慮過;)

3

使用以下代碼提交表單。 並在谷歌中使用搜索關鍵字「提交表單,而無需在PHP中提交按鈕」。

<form id="jsform" action="whatever you want"> 
// input fields 
</form> 

<script type="text/javascript"> 
    document.getElementById('jsform').submit(); 
</script> 

For Your Problem. Below are Sample code  

<input type='checkbox' class='test' name='test' value='1'> 
<input type='checkbox' class='test' name='test' value='2'> 
<input type='checkbox' class='test' name='test' value='3'> 
<input type='checkbox' class='test' name='test' value='4'> 

is somthing your checkboxes then following is the script 

<script> 
$(function(){ 
    $(".test").click(function(){ 
     var checkBoxValue = $(this).val(); // value of checkbox 
     $.ajax(
     { 
      url: "" // url of page where delete funcnality is written 
        // and id of field 
     }) 
     .done(function(data) 
     { 
      // success 
     }); 
    }); 
}); 
</script> 
+0

謝謝@Vipin辛格,但我會在哪裏輸入

  • 11. 無法啓用XHTML提交輸入/按鈕,默認情況下
  • 12. 在一種情況下提交兩個按鈕
  • 13. 如何在不使用提交按鈕的情況下上傳圖片?
  • 14. 如何在不禁用JQuery按鈕的情況下停止提交表單?
  • 15. 我可以在不使用提交按鈕的情況下發布數據嗎
  • 16. TinyMCE在不使用提交按鈕的情況下獲取表單內容
  • 17. 如何在不使用提交按鈕的情況下觸發驗證
  • 18. 在不使用提交按鈕的情況下更新數據庫
  • 19. 如何在不提交表單的情況下在PHP中調用sql命令?
  • 20. 如何在不提交表單的情況下上傳文件?
  • 21. 如何在不包含php文件的情況下調用類?
  • 22. 如何在不提交按鈕的情況下從文本字段調用JavaScript函數?
  • 23. 如何在不提交表單的情況下在提交表單上添加下一個按鈕?
  • 24. 在不刷新的情況下在php中提交
  • 25. HtmlUnit,如何在不點擊提交按鈕的情況下發布表單?
  • 26. 如何在不使用servlet中的提交按鈕的情況下提交表單
  • 27. 如何在不按下按鈕的情況下調用某個功能
  • 28. PHP在不提交的情況下獲得輸入值
  • 29. php isset不提交按鈕
  • 30. 在不禁用插件的情況下移除按鈕