Php 为什么我的表单在单击按钮时不显示?
这是我用于按钮的代码。它将出现,并且按钮可单击Php 为什么我的表单在单击按钮时不显示?,php,html,forms,submit,Php,Html,Forms,Submit,这是我用于按钮的代码。它将出现,并且按钮可单击 foreach ($result as $pers) { echo ('<form>'); echo ('<h3>Naam</h3>');'<br>'; echo "<input type='submit' name='nameupdate' value='$pers->name' data-href='?persUp=".$pers->username."&
foreach ($result as $pers) {
echo ('<form>');
echo ('<h3>Naam</h3>');'<br>';
echo "<input type='submit' name='nameupdate' value='$pers->name' data-href='?persUp=".$pers->username."&persDa=".$pers->name."'>";
echo ('</form>');
}
在头部:
<link rel="stylesheet" href="themes/themerollertest.min.css" />
<link rel="stylesheet" href="themes/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
可能是因为太多()和错误使用PHP造成的
您的代码:
foreach ($result as $pers) {
echo ('<form>');
echo ('<h3>Naam</h3>');'<br>';
echo "<input type='submit' name='nameupdate' value='$pers->name' data-href='?persUp=".$pers->username."&persDa=".$pers->name."'>";
echo ('</form>');
}
foreach($result作为$pers){
回声(“”);
回音('Naam');“
”;
回声“;
回声(“”);
}
应该是:
foreach ($result as $pers) {
echo '<form>';
echo '<h3>Naam</h3><br>';
echo '<input type="submit" name="nameupdate" value="'.$pers->name.'" data-href="?persUp='.$pers->username.'&persDa='.$pers->name.'">';
echo '</form>';
}
foreach($result作为$pers){
回声';
回音“Naam
”;
回声';
回声';
}
编辑:尝试此操作
表格:
foreach($result作为$pers){
回声';
回音“Naam
”;
回声';
回声';
回声';
回声';
}
邮政:
if(isset($_POST['nameupdate']))
{
echo('dabdab');
if(isset($_POST['persDa']))
{
$did = $_POST['persDa'];
echo "<input type='text' name='nmbox' value='".$did."'>";
echo "<input type='submit' name='nmupdate' value='Update'>";
}
}
if(isset($\u POST['nameupdate']))
{
回声('dabdab');
如果(isset($_POST['persDa']))
{
$did=$_POST['persDa'];
回声“;
回声“;
}
}
正如我所见,您应该使用ajax一次性发送POST
和GET
。为此,我建议您将此pat分离到新文件中
if(isset($_POST['nameupdate']))
{
echo('dabdab');
if(isset($_GET['persDa']))
{
$did = $_GET['persDa'];
echo "<input type='text' name='nmbox' value='$did'>";
echo "<input type='submit' name='nmupdate' value='Update'>";
}
}
编辑:或者像这样简单地更改代码
foreach ($result as $pers) {
echo '<form action="?persUp='.$pers->username.'&persDa='.$pers->name.'" method="POST">';
echo '<h3>Naam</h3><br>';
echo "<input type='submit' name='nameupdate' value=".$pers->name." data-href=''>";
echo '</form>';
}
foreach($result作为$pers){
回声';
回音“Naam
”;
回声“;
回声';
}
你在使用javascript吗?这个脚本涉及jquery,它应该负责在页面中创建新元素,应该有ajax脚本,当然它不会出现。您的表单没有设置方法
属性,因此您的方法
是GET。你有if
的$\u POST条件
我试过这个回音(“”);foreach()中的$result
是什么?foreach工作正常吗?$pers->name
是否在表单之前打印出来?在所有提交按钮上,都会从数据库中显示正确的值,因此foreach非常酷!我很高兴它成功了!这是D.迪米特罗夫所说的;)
if(isset($_POST['nameupdate']))
{
echo('dabdab');
if(isset($_POST['persDa']))
{
$did = $_POST['persDa'];
echo "<input type='text' name='nmbox' value='".$did."'>";
echo "<input type='submit' name='nmupdate' value='Update'>";
}
}
if(isset($_POST['nameupdate']))
{
echo('dabdab');
if(isset($_GET['persDa']))
{
$did = $_GET['persDa'];
echo "<input type='text' name='nmbox' value='$did'>";
echo "<input type='submit' name='nmupdate' value='Update'>";
}
}
$("input[name='nameupdate']").on('click', function(e){
e.preventDefault();
var url = $(this).data('href'),
nameupdate = $(this).val();
$.ajax({
type: "POST",
url: url,
data: {
nameupdate: nameupdate,
},
success: function (response) {
// here you should choose place where to put your result
$('#result').html(response)
}
});
});
foreach ($result as $pers) {
echo '<form action="?persUp='.$pers->username.'&persDa='.$pers->name.'" method="POST">';
echo '<h3>Naam</h3><br>';
echo "<input type='submit' name='nameupdate' value=".$pers->name." data-href=''>";
echo '</form>';
}