- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 HTML 中有这个文本框:
<script src="../js/writeTo.js"></script>
<form>
<div class="post-title">
<input type="text" placeholder="Post Title">
</div>
<div class="post-content">
<textarea type="text" placeholder="Post Content"></textarea>
</div>
<button type="submit" class="submit">Submit</button>
</form>
我的名为 writeTo.js 的 js 文件包含以下代码:
var url = "https://blog-posts.firebaseio.com/";
var firebaseRef = new Firebase(url);
function funct1()
{
var title = $('#post-title').val();
var post = $('#post-content').val();
var date = Date();
firebaseRef.set({Title: +title, Content: +post, Date: +Date()});
}
submit.onclick = funct1();
当我在文本框中键入内容并单击提交时,我查看了我的 Firebase,但没有新数据(我也是 Firebase 的新手)。
它不起作用,有人能看出问题所在吗? (大概有几个,我是JavaScript新手)
最佳答案
您的脚本存在一些问题。我已经在 this jsfiddle 中解决了它们, 但也会在下面解释。
输入的 HTML 如下所示:
<div class="post-title">
<input type="text" placeholder="Post Title">
</div>
您用来读取值的 JavaScript 是:
var title = $('#post-title').val();
如果您阅读 the documentation for val
,您会看到它是要在 input
元素本身上调用的。您在包装 div
上调用它。
最简单的改变是像这样获取值:
var title = $('#post-title').text();
你用这样的形式连接你的事件处理程序:
submit.onclick = funct1();
不幸的是,这不会像您预期的那样工作。
所做的是:
funct1
funct1
的返回值赋给onclick
你想做的是:
submit.onclick = funct1;
所以这会将 funct1
分配给 onclick
。
顺便说一句,您可能想阅读更现代的分配事件处理程序的方法。
您将值传递给 Firebase 的代码似乎有点不对劲。改用这个
firebaseRef.set({Title: title, Content: post, Date: date});
浏览器通常通过将表单的值发布到 URL 来处理对表单提交按钮的点击。
但是在您的应用程序中您自己处理这个,所以您应该告诉浏览器忽略提交。
您可以通过从您的函数返回 false
来做到这一点:
return false;
请注意,这将在 Chrome 中发出以下警告:
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
所以你确实应该考虑使用 event.preventDefault()
而不是返回 false。请参阅下面的完整代码以了解如何执行此操作。
var url = "https://blog-posts.firebaseio.com/";
var firebaseRef = new Firebase(url);
function funct1(evt)
{
var title = $('#post-title').text();
var post = $('#post-content').text();
var date = Date();
firebaseRef.set({Title: title, Content: post, Date: date});
evt.preventDefault();
}
var submit = document.getElementsByTagName('button')[0];
submit.onclick = funct1;
您的代码现在将替换您 Firebase 中的博客文章。我想您可能更愿意在按下提交按钮时添加新帖子。
为此,您需要调用 Firebase 的 push
函数。 Firebase 在 managing lists 上有一些很棒的文档.
它的要点是这样的:
var postRef = firebaseRef.push(); // create a new post
postRef.set({Title: title, Content: post, Date: date});
因此,您创建了一个新帖子,然后在该帖子上设置您的值,而不是在顶级 Firebase 引用上。
关于javascript - 将数据从文本框提交到 Firebase 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20929515/
我正在为一个网站开发应用程序(我无法访问该网站)。 所以我想做以下事情: 那么如何将文本数据从 Android View 传递到网页中的文本框并捕获来自网站的响应? 我试图记住这一切我无法访问任何网站
我有一个文本框,里面有一个很长的 url。我想做的是,当用户点击主页按钮时,我希望光标移动到文本框的开头。 我希望这是正常行为,但事实并非如此,当文本框内的文本很长时,我点击回家,它会转到文本框中当前
我正在做一个WPF登录界面。在我的登录面板中,我有一个登录 TextBox和 PasswordBox .如下图第一张所示,登录文本框中有一个小人类标志,密码框中有一个锁。我将图像设置为文本框背景,然后
是否有任何简单的方法可以使文本在文本框中居中?我正在寻找一些内置函数,但什么也没找到。 最佳答案 将 TextAlignment 属性设置为 Center: 关于wpf - 文本框 - 水平文本居中
是否可以使用 System.Windows.Forms.TextBox(或任何其他方法)输入可随后转换为安全字符串的文本?我希望能够获取输入的值,将其转换为安全字符串并将其写入一个文件,然后可以在需要
是否可以使用 System.Windows.Forms.TextBox(或任何其他方法)输入可随后转换为安全字符串的文本?我希望能够获取输入的值,将其转换为安全字符串并将其写入一个文件,然后可以在需要
我想将纬度和经度的值返回到我的 EditText 中,我已经能够使用 Toast 来做到这一点,但没有通过 实现它>编辑文本。请帮忙 // EditText latEditText =
我是Jquery新手,其实我对JQuery的使用知识是0。我正在尝试使用 JQuery 来实现某些功能。 我有一个带有 iframe 的 html 页面。 iframe 页面中有一个表单和一个文本框。
我正在尝试在 Button 的事件处理程序中访问我在 C# 中动态创建的 TextBox。 void MainFormLoad(object sender, EventArgs e)
我有一个搜索栏,当我打开搜索栏时,我想立即开始输入,不想点击文本框。 我尝试使用 myTextBoxId.click()(因为当您单击它时,您可以开始输入)但它不起作用。 最佳答案 你必须 docum
我还没有找到好的解决方案:我有一个文本框,用户需要能够在其中输入特定 信息。例如,命令可能是“9030 OUT FU [1234 TEST]”。我需要“擦洗”这个文本框以确保数据是以这种格式输入的(不
我有一个 Java 应用程序,您可以在其中将字符串输入文本框,点击加密,它会在单独的文本框中显示加密的字符串。我将为此使用 AES 加密。问题是我无法让加密文本按字节显示,但文本框不会显示字节(仅采用
我已经浏览了您庞大的问题数据库,但似乎没有找到答案。我在将文本换行时遇到问题 - 即使之前的行上仍有空间。这是代码: p1 { border-left: 6px solid blue; bac
所以我正在尝试创建“看板/待办事项列表”网站,但我在触发添加按钮时遇到了问题。我试图触发“添加”按钮以打开用户输入框。所以我有这个创建一个小框的“添加”按钮。但我无法弄清楚如何在该框中添加一个小区域,
我有一个文本框,应该只接受浮点值。它不应该允许任何其他值。怎么做。我在 HTML 中完成了此操作。 Weight 但是,它不起作用?如何做到这一点。 最佳答案 // remo
当用户点击文本框时,如何不显示出现在文本框下方的已填充值 最佳答案 将这个属性放在你的文本框中 autocomplete="off" 关于javascript - 文本框 - 如何不显示已填充的值,我
JavaScript: function resize(elem){ if(!elem.value.length) elem.size=1; else elem.size=elem.value
在我的代码下面,我需要它具有相同的宽度和高度,但有多行“从第一行开始”,当到达行尾时转到新行,只有 120 个字符,就像我用“Enter短信”当您向右单击时隐藏,但我需要它为灰色。 最佳答案 您可以使
我有一个问题,我必须创建一种方法来搜索显示在多个文本框 (lblResult.Text) 中的选定文本文件的内容。使用简单的搜索算法:搜索用户输入的整个搜索词。例如,如果用户输入“hello”,则只搜
我正在尝试对文本框使用 SelectionStart 和 SelectionLength 属性。它没有效果,但也没有错误。它实际上是后台工作程序 ProgressChanged 方法的一部分,但我已经
我是一名优秀的程序员,十分优秀!