[英]how to change the variable of php with javascript button click without reloading the page
[英]How to change a PHP variable with a HTML button click?
我試圖通過單擊HTML按鈕或其他合適的方法來更改PHP變量。
不幸的是,我無法在此處發布大部分代碼,但我將提供盡可能多的代碼。
首先,我在網站上有兩個按鈕。 它們各自調用兩個不同的javascript函數,但是它們加載相同的HTML表單。 然后根據開始時單擊哪個按鈕,將表單提交到MySQL數據庫。
我不希望兩個按鈕都加載相同的表單,而是希望它們加載不同的表單。 我想通過在用戶單擊任一按鈕時保存一個PHP變量來做到這一點。
我已經在網上進行了很多搜索,但是沒有找到直接答案。
這是一個小例子:
HTML按鈕添加測驗:
<h2>
<button id='opener' class='roundButton add' value='' onClick="OpenNewQuizDialog();">
</button>
Create Quiz
</h2>
HTML按鈕添加演示文稿:
<h2>
<button id='opener' class='roundButton add' value='' onClick="OpenNewPresDialog();
</button>
Add Presentation
</h2>
這兩個Javascript函數:
function OpenNewQuizDialog()
{
$( "#dialog" ).dialog( "open" );
$('#dialog').dialog({title:"Create Quiz"});
$('#dialogtype').val("addquiz");
}
function OpenNewPresDialog()
{
$( "#dialog" ).dialog( "open" );
$('#dialog').dialog({title:"Create Presentation"});
$('#dialogtype').val("addpres");
}
正在打開的HTML表單:
<div id="dialog" title="Edit Settings">
<form name="editForm" method="post" action="createplay.php">
<input type=hidden id='dialogid' name='dialogid' value=''>
<input type=hidden id='dialogtype' name='dialogtype' value=''>
<input type=hidden id='uid' name='uid' value='<?php echo $userid; ?>'>
<div>
Name: <input type='text' id='nameEdit' name='nameEdit' value=''>
</div>
<div>
Data: <textarea id='textEdit' name='textEdit' row='10' cols='50'></textarea>
</div>
<input type="submit" class="roundButton upload" value="" />
</form>
</div>
我試過的
我嘗試將以下內容添加到HTML按鈕內的onClick部分:
quiz button: <?php $create_type = 'createquiz' ?>
presentation button: <?php $create_type = 'createpres' ?>
然后,我嘗試做出一個'if'語句,以查看單擊了哪個按鈕,因此可以顯示適當的表格。 盡管$ create_type的值始終是'createpres',因為它在頁面的最后被調用。 就像沒有調用HTML onClick一樣,正在調用PHP。
有沒有更好的方法來解決這個問題?
PHP是服務器端語言,而Javascript在客戶端中運行。 這意味着它們都分別運行。 但是,如果您希望它們一起處理,例如使用javascript獲取數據顯示,則必須使用AJAX 。
設置適當的值的表單控件時,不需要多余的變量
$('#dialogtype').val("addquiz");
該表格將收到以下值:
<input type=hidden id='dialogtype' name='dialogtype' value=''>
現在由$ _POST ['dialogtype'] =='addquiz')或其他值決定您的php腳本(createplay.php)並按預期處理數據
您無法通過html創建php變量,因為php是服務器端,而html是客戶端。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.