Javascript 如何使用jquery从HTML提交数据
这个问题可能不清楚,所以我会进一步解释。 我看到了一些页面,比如wordpress的新贴子标签,它们有Javascript 如何使用jquery从HTML提交数据,javascript,jquery,Javascript,Jquery,这个问题可能不清楚,所以我会进一步解释。 我看到了一些页面,比如wordpress的新贴子标签,它们有 [input] x tag | x tag | x tag 或者在你发布图片时在Facebook上留言 当您输入一个标记并按enter键时,一个新标记将插入到页面中的to元素中 我不太明白你怎么能把它解析出来然后提交给表单 如果有人知道,请给我一个想法 谢谢如果我没弄错的话,你说的是在“引擎盖下”发送基于AJAX的post请求,并在同一页面上获取“动态反射” 如果是这样的话,实际上不
[input]
x tag | x tag | x tag
或者在你发布图片时在Facebook上留言
当您输入一个标记并按enter键时,一个新标记将插入到页面中的to元素中
我不太明白你怎么能把它解析出来然后提交给表单
如果有人知道,请给我一个想法
谢谢如果我没弄错的话,你说的是在“引擎盖下”发送基于AJAX的post请求,并在同一页面上获取“动态反射” 如果是这样的话,实际上不仅仅是向服务器提交数据 这是一幅大图: 您需要一个javascript,该javascript加载到具有要提交的表单的页面中 在该脚本中,您需要定义将触发基于AJAX的post请求的事件。基本上,当特定字段中的内容刚刚更改时,您会喜欢触发这样的事件(即onChange事件) 然后可以使用如下脚本:
$.ajax
({
type: 'POST',
cache: false,
async: false,
timeout: 10000,
url : '/path/to/your/serverside/function',
dataType : 'json',
data:
{
'tag' : //whatever you want to be used as the tag
},
success : function(message)
{
//this will be called when this post was successfully been carried out.
//you should update the view (the same page) here using some jQuery script.
//such as : $('#tag').html(message.tag);
},
error : function(message)
{
//this is for displaying error messages (perhaps due to networking problems?)
}
});
因为有很多东西要写。我建议你把你完成的东西都贴在这里,这样我们可以检查一下
至少从我的角度来看,这个场景需要以下知识才能使一切正常(尽管您可以选择使用较少的技术):
onChange事件已触发
|
|
jQuery=====发送JSON格式的标记信息======>服务器端函数
|
|
解码JSON标记信息
|
|
进程(是否将其保存到数据库?)
|
|
对反馈信息进行编码
|
jQuery回调函数如果我没有弄错的话,你说的是在“幕后”发送基于AJAX的post请求,并在同一页面上获取“动态反射”
如果是这样的话,实际上不仅仅是向服务器提交数据
这是一幅大图:
您需要一个javascript,该javascript加载到具有要提交的表单的页面中
在该脚本中,您需要定义将触发基于AJAX的post请求的事件。基本上,当特定字段中的内容刚刚更改时,您会喜欢触发这样的事件(即onChange事件)
然后可以使用如下脚本:
$.ajax
({
type: 'POST',
cache: false,
async: false,
timeout: 10000,
url : '/path/to/your/serverside/function',
dataType : 'json',
data:
{
'tag' : //whatever you want to be used as the tag
},
success : function(message)
{
//this will be called when this post was successfully been carried out.
//you should update the view (the same page) here using some jQuery script.
//such as : $('#tag').html(message.tag);
},
error : function(message)
{
//this is for displaying error messages (perhaps due to networking problems?)
}
});
因为有很多东西要写。我建议你把你完成的东西都贴在这里,这样我们可以检查一下
至少从我的角度来看,这个场景需要以下知识才能使一切正常(尽管您可以选择使用较少的技术):
onChange事件已触发
|
|
jQuery=====发送JSON格式的标记信息======>服务器端函数
|
|
解码JSON标记信息
|
|
进程(是否将其保存到数据库?)
|
|
对反馈信息进行编码
|
jQuery回调函数一种方法是跟踪添加到隐藏表单字段中的标记,但实际上使用div或span或任何您想要的UI显示。在facebook的例子中,我想象他们正在做一些类似的事情,尽管我猜他们实际上可能在动态添加表单元素。原谅那些讨厌的代码/css-只是把它们扔在一起。如果您添加标记,然后点击submit,您将看到所有值都存在的查询字符串
<!doctype html>
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btnSuggest").click(function(){
var $tagSuggest = $("#tagSuggest");
if($tagSuggest.val() != "")
AddTag($tagSuggest.val());
});
$("#tagSuggest").keyup(function(e){
if(e.keyCode == 13 && $(this).val() != "")
AddTag($(this).val());
});
});
function AddTag(tag){
$("<div>").text(tag).appendTo("#tags").click(function(){
$(this).remove();
UpdateTags();
}).hover(function(){
$(this).addClass("over");
},function(){
$(this).removeClass("over");
});
UpdateTags();
}
function UpdateTags(){
var allTags = "";
$("#tags div").each(function(){
allTags += "," + $(this).text();
});
$("#hidTags").val(allTags.substring(1));
$("#tagSuggest").val("");
}
</script>
<style type="text/css">
.main
{
width: 400px;
padding: 10px;
margin: auto;
border: 1px solid black;
background-color: #e6e6e6;
height: 600px;
}
#tags div
{
padding: 3px;
border: 1px solid black;
background-color: #e6e6e6;
margin: 3px;
height: 15px;
width: auto;
float: left;
cursor: pointer;
}
#tags div.over
{
background-color: red;
}
</style>
</head>
<body>
<div class="main">
<form action="" method="get">
<input type="hidden" name="hidTags" id="hidTags">
<textarea name="Wallpost" style="width: 390px; height: 100px;"></textarea>
<br />
<input type="text" id="tagSuggest" style="width: 280px;" />
<input type="button" id="btnSuggest" value="Add Tag" style="float: right;"/>
<br />
<input type="Submit" name="cmdSubmit" value="Share" style="float: right;"/>
</form>
<div id="tags">
</div>
</div>
</body>
</html>
$(函数(){
$(“#btnsugest”)。单击(函数(){
var$tagSuggest=$(“#tagSuggest”);
如果($tagSuggest.val()!=“”)
AddTag($tagSuggest.val());
});
$(“#tagSuggest”).keyup(函数(e){
如果(e.keyCode==13&&$(this.val()!=“”)
AddTag($(this.val());
});
});
函数AddTag(tag){
$(“”)。文本(标记)。附加到(“#标记”)。单击(函数(){
$(this.remove();
UpdateTags();
}).hover(函数(){
$(此).addClass(“超过”);
},函数(){
$(此).removeClass(“结束”);
});
UpdateTags();
}
函数UpdateTags(){
var-allTags=“”;
$(“#标记div”)。每个(函数(){
allTags+=”,“+$(this).text();
});
$(“#hidTags”).val(allTags.substring(1));
$(“#tagSuggest”).val(“”);
}
梅因先生
{
宽度:400px;
填充:10px;
保证金:自动;
边框:1px纯黑;
背景色:#e6;
高度:600px;
}
#标签组
{
填充:3倍;
边框:1px纯黑;
背景色:#e6;
保证金:3倍;
高度:15px;
宽度:自动;
浮动:左;
光标:指针;
}
#标签分区结束
{
背景色:红色;
}
一种方法是跟踪添加到隐藏表单字段中的标记,但实际显示时使用div或span或任何您想要的UI。在f的情况下