我有一个HTML表单和PHP代码。在我的表单中,我有一个文本框和一个textarea。在这两者中,我都包括了#34;残疾人"选项。我希望两个文本框保持禁用状态,直到用户决定单击"编辑"按钮,在这种情况下,应启用两个文本框,以便进行更改并再次保存输出。根据我所做的研究,唯一的方法是使用javascript,所以我在PHP中包含了以下代码;
if (isset($_POST['edit']))
{
echo "<script type=\"text/javascript\">";
echo "var oldnotes = document.getElementById('oldnotes');";
echo "oldnotes.disabled = false;";
echo "var record = document.getElementById('record');";
echo "record.disabled = false;";
echo "</script>";
}
我也试过了;
if (isset($_POST['edit']))
{
echo "<script type=\"text/javascript\">";
echo "$('#oldnotes').removeAttr('disabled')";
echo "$('#record').removeAttr('disabled')";
echo "</script>";
}
但没有运气:(
我没有收到任何错误,单击“编辑”按钮后文本框仍然处于禁用状态。任何人都可以帮我这个吗?提前致谢。
答案 0 :(得分:2)
对于这类问题,这是一种更好的方法:
if (isset($_POST['edit'])){
?>
<script type="text/javascript">
var oldnotes = document.getElementById('oldnotes');
oldnotes.disabled = '';
var record = document.getElementById('record');
record.disabled = '';
</script>
<?php
}
答案 1 :(得分:0)
对脚本类型使用单引号
echo "<script type='text/javascript'>\n";
//javascript goes here
echo "</script>";
答案 2 :(得分:0)
第二种方法似乎是正确的,但您在那里缺少;
。此外,您还没有添加任何换行符。
以下是我的建议:
<?php
if (isset($_POST['edit'])) {
?>
<script type="text/javascript">
alert("Check entry"); // Use this for checking if your script is reaching here or not
$('#oldnotes, #record').removeAttr('disabled');
</script>
<?php
}
?>
你不需要回应整个事情。您可以简单地将其从PHP中删除并将其保存在if
块中。
另外,我保留警报以检查您的代码结构是否正确。如果您在点击修改按钮时收到提醒,则意味着您正走在正确的道路上。你只需要在JS上锻炼。
如果没有,编辑按钮和form POST
答案 3 :(得分:0)
使用此jquery代码:
<script>
$('#oldnotes,#record').attr('disabled','')
</script>
答案 4 :(得分:0)
尝试使用按钮上的onclick
<input type="button" name="edit" id="edit" onclick="document.getElementById('oldnotes').disabled=false; document.getElementById('record').disabled=false; return false;">
我希望它有所帮助。
答案 5 :(得分:0)
如果您想在PHP中使用JS,可以在这里阅读: how to write javascript code inside php
然而:根据提供的实现,您似乎希望在php逻辑中进行评估后自行调用JS。
从技术上讲,你的JS只是说它应该重新启用控件。而是将JS功能添加到提交控件的OnClick,它应该可以正常工作。这也是测试功能的更快捷方式。
<a href="javascript:void(0);" onclick="document.getElementById('oldnotes').disabled=false;" >
单击它后,它将隐藏适当的控件,而不是尝试在未执行的情况下编写新的JS。经过试用和测试,应该可以正常使用。
希望它有所帮助!
答案 6 :(得分:0)
method="GET"
答案 7 :(得分:0)
您始终可以制作Cookie
使用document.cookie()
将onclick=“”
设置为更改Cookie
并创建一个脚本,该脚本在您打开网站时运行并获取Cookie(使用window.onload = function(){/*code goes here*/}
)