请注意:我对使用Polymer对此不感兴趣; 我想使用“纯”飞镖!
我正在尝试为Dart应用程序构建一个简单的登录屏幕,并且很难将两个表单变量(email
和password
)发送到服务器端POST:
这是我的主要HTML文件(myapp.html
):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sign in</title>
<link rel="stylesheet" href="assets/myapp/myapp/myapp.css">
<link rel="stylesheet" href="assets/myapp/bootstrap/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<form id="signinForm" method="POST" class="form-signin">
<h2 class="form-signin-heading">Please sign in</h2>
<input type="text" class="input-block-level" name="email" placeholder="Email address">
<input type="password" class="input-block-level" name="password" placeholder="Password">
<button class="btn btn-large btn-primary" id="signinBtn" type="submit">Sign in</button>
</form>
</div>
<script type="application/dart" src="myapp.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
这是我的主要Dart文件(myapp.dart
):
import 'dart:html';
void main() {
querySelector("#signinForm")
..onClick.listen(handle);
}
void handle(MouseEvent mouseEvent) {
mouseEvent.preventDefault();
FormElement formElement = mouseEvent.target as FormElement;
var url = "http://localhost:8080/myapp/signinService";
var request = HttpRequest.request(
url,
method: formElement.method,
sendData: new FormData(formElement)
).then(onDataLoaded);
}
void onDataLoaded(HttpRequest req) {
String response = req.responseText;
if(response == 1)
window.alert("You are signed in!");
else
window.alert("Sign in failed. Check credentials.");
}
当我在浏览器中运行此程序时,我看到登录屏幕出现,但是当我单击登录按钮时,什么都没有发生,并且Firebug在交叉编译,混淆,缩小的JavaScript上抛出了一系列错误:
:CastError:将qE类型的值转换为不兼容的Yu类型
我想这是一个AJAX请求,这样用户就 没有 必须要经历一个重新加载页面(这里的意图是成为一个单页的应用程序)。
关于这里发生的事情有什么想法吗?我几乎100%确信问题不在服务器端,所以现在我不发布服务器代码。但是如果需要,我将使用服务器代码更新我的问题。
这是一个例子,如何做到这一点
表单,HTTP服务器和带有Dart的Polymer
当你改变
void main() {
querySelector("#signinBtn")
..onClick.listen(handle);
}
至
void main() {
querySelector("form")
.onSubmit.listen(handle);
}
您有权访问目标
void handle(Event event) {
event.preventDefault();
FormElement form = event.target as FormElement;
...
}
Framework7 可以通过ajax自动提交 有两种自动提交方式: 当用户提交了表单 (点击了提交按钮) 或者当通过代码触发了 "submit" 事件 当用户更改了表单的内容,或者当通过代码触发了 "change" 事件 submit时提交表单数据 只需要添加 "ajax-submit" class 在form上,当submit时就会自动通过ajax发送表单数据 <form action="se
问题内容: 我是stackoverflow和CodeIgniter的新手,目前正在尝试在Internet上找到的一些简单代码示例,以开始使用。我现在正在处理的是一种使用CI和Ajax(jQuery)的表单,并将表单的输入保存在数据库中,然后在表单的同一页上显示最新的表单。如果我感到困惑,那是这里的4.7应用示例。最初的源代码位于此处,但为了与最新版本的CI配合使用,我对其进行了修改,并在下面引用了
描述 (Description) Framework7允许您使用以下两种方式使用Ajax自动发送数据 - 当用户提交表单或submit事件时,以编程方式触发表单。 当用户修改任何表单字段或以编程方式change表单上触发的事件时。 发送提交表单数据 要自动启用Ajax表单并单击“提交”发送表单数据,您需要将ajax-submit类添加到表单中。 用户提交表单后,Ajax将使用以下规则自动发送表单数
问题内容: 此代码正确吗?我正在尝试提交,如果文本区域再次为空,我也想提交。 我正在尝试上传: 谢谢… 问题答案: 用 代替 如果您使用的是最新版本的jquery。
问题内容: 我有一个带有名称和未定义输入数量的表单。 我想做某种jQuery.get或ajax或类似的事情,它将通过Ajax调用页面,并发送表单的所有输入。 我想一种方法是做类似的事情 但是我不完全知道所有的表格输入。是否有仅发送所有表单输入的功能部件或功能? 问题答案: 您可以使用Ajax表单插件中的ajaxForm / ajaxSubmit函数或jQuery序列化函数。 AjaxForm :
Jquery Mobile会自动通过ajax处理表单的提交,并在表单页面和结果页面之间创建一个平滑的转场效果。注意请在form元素上正确设定action 和method属性,保证表单的提交。如果没有指定,提交方法默认为get,action默认为当前页的相对路径(通过$.mobile.path.get()方法取得 表单也可以像链接一样指定转场效果的属性,比如data-transition="pop"