我有一个HTML表单,我需要在按下提交时调用php脚本,但无法确定脚本未执行的原因。
<form action="update.php" method="POST">
<input name="id" type="hidden" value="id"/>
<input name="subArea" type="text" placeholder="Sub Area (optional)"/>
<label><textarea name="description" rows="2" cols="80" placeholder="Description" ></textarea></label>
<label><input type="radio" name="markNA[]" value ="markNA"/> N/A? </label>
<input class = "btn-testname" type="submit" value="Change" name="update"/>
</form >
按下按钮时我不需要重新加载页面(所以想避免使用Ajax)我的理解是上面的方法会执行脚本吗?
update.php
<?php
include ("databaseLogin.php");
// Create connection to Database
$con = mysqli_connect('localhost',$dbuser,$dbpass,$dbname);
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
// Sql Query
$sql = "INSERT INTO `table_tests` (`active`, `description`)
VALUES (1, 'newstuff')";
mysqli_query($con, $sql);
?>
编辑1:我排除了POST vars的引入只是为了简化php代码(并将它们硬编码到sql查询中)
如果我只是错过了一个愚蠢的语法错误,我道歉。
答案 0 :(得分:0)
你必须重新加载页面或至少转到另一个页面,PHP是一种服务器端语言,所以它不能进行实时更改。如果你想这样做,你必须使用javascript。
但是您现在使用的方式可以在update.php
:
$description = $_POST["description"];
如果您在update.php
上有该代码,说明文本框中填写的文字将保存为变量$description
,以便您可以验证表单,例如
======================
获取例如文本框&#39;描述&#39;的值。你可以使用:
document.getElementById("searchTxt").value;
因此,如果您想点击按钮,请执行以下操作:
<script type="text/javascript">
function check () {
document.getElementById("description").value;
}
</script>
<button onclick="check()"></button>
在这里,您获得ID="description"
字段的值
有些方法可以通过名称获得它,但我总是使用ID
document.getElementsByName('description')[0].value
上面的代码为您提供了名称描述
的第一个元素答案 1 :(得分:0)
**Try this**
<form action="update.php" method="POST">
<input name="id" type="hidden" value="id"/>
<input name="subArea" type="text" placeholder="Sub Area (optional)"/>
<label><textarea name="description" rows="2" cols="80" placeholder="Description" ></textarea></label>
<label><input type="radio" name="markNA" value ="markNA"/> N/A? </label>
<input class = "btn-testname" type="submit" value="Change" name="update"/>
</form >
<?php
include ("databaseLogin.php");
// Create connection to Database
$con = mysqli_connect('localhost',$dbuser,$dbpass,$dbname);
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
$description = $_POST['description'];
$active= $_POST['markNA'];
$id= $_POST['id'];
// Sql Query
$sql = "INSERT INTO `table_tests` (`active`, `description`,`id`)
VALUES ('$active', '$description','$id')";
mysqli_query($con, $sql);
?>