如何在PHP代码中嵌入Javascript?

时间:2014-03-24 19:35:55

标签: javascript php

我有一个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>";
}

但没有运气:(

我没有收到任何错误,单击“编辑”按钮后文本框仍然处于禁用状态。任何人都可以帮我这个吗?提前致谢。

8 个答案:

答案 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*/}