這是一個帶有按鈕的簡單 PHP 表單。
<form method="POST">
<div class="mb-3">
<button type='button' id ="btnnew1" class="btn btn-info" >submit</button>
<p></p>
</div>
</form>
這是執行 PHP 檔案的 Jquery 函式。
$(document).ready(function(){
$("#btnnew1").click(function(e){
if(!confirm('Are you sure?')){
e.preventDefault();
return false;
}
else{
$.ajax({
url: 'test.php',
success: function(data) {
$("p").text(data);
}
});
}
});
});
而test.php如下,
<?php
echo 'Button1 clicked'
?>
test.php我的問題是如果我有多個按鈕如何修改我的。
舉個例子,
<form method="POST">
<div class="mb-3">
<button type='button' id ="btnnew1" class="btn btn-info" >submit</button>
<p></p>
</div>
<div class="mb-3">
<button type='button' id ="btnnew2" class="btn btn-info" >submit</button>
<p></p>
</div>
<div class="mb-3">
<button type='button' id ="btnnew3" class="btn btn-info" >submit</button>
<p></p>
</div>
</form>
結果應該是,
If btnnew1 clicks--->echo("Button1 clicked);
If btnnew2 clicks--->echo("Button2 clicked);
If btnnew3 clicks--->echo("Button3 clicked);
更新:
如果我需要運行三個不同的 php 函式(沒有任何模式)怎么辦?
Ex:
If btnnew1 clicks--->
sleep(5)
echo("Button1 clicked);
If btnnew2 clicks--->
sleep(15)
echo("Button2 clicked by user);
If btnnew3 clicks--->
sleep(35)
echo("Button3 clicked by user);
uj5u.com熱心網友回復:
在這里,我正在更改您的默認設定。據我所知,這將對您有所幫助。您可以嘗試如下,
1)將您的按鈕更改為輸入型別..我還添加了一些行內 CSS。如果你不喜歡你可以忽略它...
<input type="button" style="background-color: #3CBC8D;padding:3px;" class="button" name="fcn1" value="Update My Status"/>
<input type="button" class="button" style="background-color: #3CBC8D;padding:3px;" name="fcn2" value="Update My Status" />
然后轉到jquery并如下使用,成功功能隨心所欲地改變。在這里,我使用了一個警報框...
$(document).ready(function(){ $('.button').click(function(){ if(!confirm('Are you sure?')){ e.preventDefault(); return false; } else{ var clickBtnValue = $(this).attr('name'); var fetchdata= 'testme.php', data = {'action': clickBtnValue}; $.post(fetchdata, data, function (response) { // Response div goes here. alert("Updated successfully -" response); }); } }); });最后改變你
testme.php的如下,if (isset($_POST['action'])) { switch ($_POST['action']) { case 'fcn1': fcn1(); break; case 'fcn2': fcn2(); break; } } function fcn1() { echo 'Button1 clicked'; exit; } function fcn2() { sleep(5); echo 'Button2 clicked'; exit; }
uj5u.com熱心網友回復:
為每個按鈕設定名稱:按鈕 1
使用 ajax 發送資料: 使用 e.target.text 獲取按鈕文本并使用 POST 方法發送。
$.ajax({
type: 'POST',
url: 'test.php',
data: { buttonTitle: e.target.name},
success: function(data) {
$("p").text(data);
}
});
php: 在 php 內部使用 $_GET 來獲取我們從前端發送的資料。
if(isset($_POST['buttonTitle'])) {
$buttonTitle = $_POST['buttonTitle'];
echo $buttonTitle . " clicked";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/492844.html
標籤:javascript php jQuery 阿贾克斯
