【问题标题】:Can't run PHP with JavaScript eventlistener无法使用 JavaScript 事件监听器运行 PHP
【发布时间】:2015-09-08 18:51:42
【问题描述】:

我正在使用 PHP 创建一个要编写的画布,它会将文本作为结果输出到文本区域(由其他函数完成)。还有一些其他输入标签,例如标题等,可以从用户那里获取输入。这些输入标签(标题和文本区域)的值/内容将使用表单方法“post”提交到数据库。但是,我为画布部分附加了一些带有事件侦听器功能的按钮(“撤消”或“重做”笔划)。保存部分已经成功完成,但事件侦听器部分似乎不起作用,每次我按下撤消或重做时,窗口都会像我的提交按钮一样加载,我的画布不会撤消或重做笔画,我不确定出了什么问题使用代码,任何人都可以帮助我吗?代码示例如下:

<body>
<form method="something.php" method="post">
<label for = "datetime">Date Created:</label><br>
<input type="text" name="inputDate" size="20" disabled>   //disabled because i put timestamp
<input type= "submit" name = "submit" value="Save"></input>
<pre><textarea id="result" name = "res"></textarea></pre>    //the text will output here
</form>
<br><canvas id="myCanvas" width="400" height="400"></canvas><br>   //where my i draw
<button id="undo" class = "button" >Undo</button>
</body>

<script>
(function () 
{
var undo = document.getElementById('undo');
..
..
 undo.addEventListener('click', function () 
{
if (!inkRecog.isEmpty()) 
{
inkRecog.undo();    
}
doRecog();
},
 false);
 })();
</script>

我的 inkRecog.undo 已经以另一种形式声明,以前可以使用,但是当我将 form 方法放入正文中时,它就不起作用了。

//

【问题讨论】:

    标签: javascript php event-listener


    【解决方案1】:

    你需要

    return false;
    

    在doRecog()下的事件监听器的末尾;

    【讨论】:

    • dtanders:嗨,我试过了。还是行不通。甚至我在画布上绘制的主要功能也不起作用。这可能与我的表单方法有关吗?或者我把画布和重做按钮放在哪里? (哦,我也忘了提一些事情,我会更新我的问题。)
    • 也许使用示例代码功能发布一个更完整的示例,然后
    • 我已经更新了描述。基本上我只是在用我的画布涂鸦单词,它会在 textarea 输出,然后我有一个“输入类型提交”按钮来将 textarea 中的日期和单词保存到数据库。 “撤消”事件侦听器按钮是撤消涂鸦,主要问题是当我使用提交按钮保存到数据库时,我的撤消按钮不起作用。但是,当我删除“表单方法发布”那一行时,我的撤消按钮有效,但我的保存按钮无效。知道如何解决吗?
    • 将您的画布序列化以发送到您的服务器的方法是否也扁平化了历史,也许?
    猜你喜欢
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 2012-09-13
    • 2013-07-21
    相关资源
    最近更新 更多