我正在尝试使用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',因为它在页面上最后被调用。这就像调用PHP一样,即使没有调用HTML onClick。
有没有更好的方法来解决这个问题?
答案 0 :(得分:6)
PHP是服务器端语言,而Javascript在客户端运行。这意味着它们都是分开运行的。但如果您希望它们一起处理,例如使用javascript显示数据,则必须使用AJAX。
答案 1 :(得分:1)
在设置具有适当值
的表单控件时,不需要额外的变量$('#dialogtype').val("addquiz");
表单将收到此值:
<input type=hidden id='dialogtype' name='dialogtype' value=''>
现在由你的php脚本(createplay.php)决定$ _POST ['dialogtype'] =='addquiz')或其他值并按预期处理数据
答案 2 :(得分:0)
你不能通过html创建一个php变量,因为php是服务器端而html是客户端。 :)