Ajax-jQuery+;HTML表单——Can';t提交后显示表单中的选定选项
尝试使用表单练习AJAX 我不确定我是否把它设置好了 我想做的是,当你点击submit时,会有一条消息说“你选择的号码是”—无论你从下拉列表中选择了什么号码 当我点击提交时,它会打开一个错误页面。。。所以很明显有些地方出了问题。不确定是否需要函数?我基本上是在尝试复制CodeSchool的一个场景:) 编辑:提前谢谢Ajax-jQuery+;HTML表单——Can';t提交后显示表单中的选定选项,jquery,html,ajax,Jquery,Html,Ajax,尝试使用表单练习AJAX 我不确定我是否把它设置好了 我想做的是,当你点击submit时,会有一条消息说“你选择的号码是”—无论你从下拉列表中选择了什么号码 当我点击提交时,它会打开一个错误页面。。。所以很明显有些地方出了问题。不确定是否需要函数?我基本上是在尝试复制CodeSchool的一个场景:) 编辑:提前谢谢 ******HTML******* <form action="/echo/html" method="POST"> <select> <
******HTML*******
<form action="/echo/html" method="POST">
<select>
<option>1</option>
<option>2</option>
</select>
<input type="submit" value="submit"/>
</form>
<div></div>
******JAVASCRIPT*******
function test() {
$('form').on('submit', function(e) {
e.preventDefault();
var form = $(this);
$.ajax('/echo/html/', {
type: 'POST',
data: form.serialize(),
success: function(result) {
$('div').html('you chose ' + result);
}
});
});
};
$(document).ready(function() {
test();
});
*******HTML*******
1.
2.
******JAVASCRIPT*******
功能测试(){
$('form')。关于('submit',函数(e){
e、 预防默认值();
变量形式=$(此);
$.ajax(“/echo/html/”{
键入:“POST”,
数据:form.serialize(),
成功:功能(结果){
$('div').html('您选择了'+结果);
}
});
});
};
$(文档).ready(函数(){
test();
});
测试后是否不需要扩展(.php)?-另外,这是正确的路径-如果它在同一个目录中,yuo将不需要“/”字符
$.ajax('/test.php',...
另外,假设您有其他表单和div,最好通过id、class或name来识别每个表单和div,以正确地定位它们,并且不要忘记在输入元素上加上名称,否则它们将无法作为表单元素访问
******HTML*******
<form name="testForm" action="/test.php" method="POST">
<select name="testSelect">
<option>1</option>
<option>2</option>
</select>
<input type="submit" value="submit"/>
</form>
<div id="testDiv"></div>
******JAVASCRIPT*******
$(document).ready(function() {
$('[name=testform]').on('submit', function(e) {
e.preventDefault();
var form = $(this);
$.ajax('/test.php', {
type: 'POST',
data: form.serialize(),
success: function(result) {
$('#testDiv').html('you chose ' + result);
}
});
});
});
*******HTML*******
1.
2.
******JAVASCRIPT*******
$(文档).ready(函数(){
$('[name=testform]')。在('submit',函数(e)上{
e、 预防默认值();
变量形式=$(此);
$.ajax(“/test.php”{
键入:“POST”,
数据:form.serialize(),
成功:功能(结果){
$('#testDiv').html('您选择'+result');
}
});
});
});
测试后是否不需要扩展(.php)?-另外,这是正确的路径-如果它在同一个目录中,yuo将不需要“/”字符
$.ajax('/test.php',...
另外,假设您有其他表单和div,最好通过id、class或name来识别每个表单和div,以正确地定位它们,并且不要忘记在输入元素上加上名称,否则它们将无法作为表单元素访问
******HTML*******
<form name="testForm" action="/test.php" method="POST">
<select name="testSelect">
<option>1</option>
<option>2</option>
</select>
<input type="submit" value="submit"/>
</form>
<div id="testDiv"></div>
******JAVASCRIPT*******
$(document).ready(function() {
$('[name=testform]').on('submit', function(e) {
e.preventDefault();
var form = $(this);
$.ajax('/test.php', {
type: 'POST',
data: form.serialize(),
success: function(result) {
$('#testDiv').html('you chose ' + result);
}
});
});
});
*******HTML*******
1.
2.
******JAVASCRIPT*******
$(文档).ready(函数(){
$('[name=testform]')。在('submit',函数(e)上{
e、 预防默认值();
变量形式=$(此);
$.ajax(“/test.php”{
键入:“POST”,
数据:form.serialize(),
成功:功能(结果){
$('#testDiv').html('您选择'+result');
}
});
});
});
您的小提琴按预期工作!下面是正在发生的事情
action=
中的URL,表单字段作为数据)/test
发送一个AJAX请求,该请求来自javascript,而不是表单字段action=
/test
的内容,他们已将其配置为发送回错误test()
编辑为以下内容:
function test() {
$('form').on('submit', function(e) {
e.preventDefault();
var form = $(this);
$.ajax('/test', {
type: 'POST',
data: form.serialize(),
success: function(result) {
$('div').html('you chose ' + result);
},
error: function(result) {
alert("an error!");
}
});
});
};
您将看到从JSFIDLE返回了一个错误
在实际环境中,您需要的是一个服务器端脚本。如果将AJAX请求发送到test.php
,代码将把表单变量传递到服务器上托管的test.php,test.php将处理这些变量并返回内容
记住,AJAX是与服务器通信的一种方式,而不仅仅是更新页面的一部分。您获取信息,将其发送到服务器脚本,该服务器脚本使用该信息执行某些操作,将修改后的数据发送回浏览器,然后您使用该数据执行某些操作。您的小提琴按预期工作!下面是正在发生的事情
action=
中的URL,表单字段作为数据)/test
发送一个AJAX请求,该请求来自javascript,而不是表单字段action=
/test
的内容,他们已将其配置为发送回错误test()
编辑为以下内容:
function test() {
$('form').on('submit', function(e) {
e.preventDefault();
var form = $(this);
$.ajax('/test', {
type: 'POST',
data: form.serialize(),
success: function(result) {
$('div').html('you chose ' + result);
},
error: function(result) {
alert("an error!");
}
});
});
};
您将看到从JSFIDLE返回了一个错误
在实际环境中,您需要的是一个服务器端脚本。如果将AJAX请求发送到test.php
,代码将把表单变量传递到服务器上托管的test.php,test.php将处理这些变量并返回内容
记住,AJAX是与服务器通信的一种方式,而不仅仅是更新页面的一部分。您获取信息,将其发送到服务器脚本,该服务器脚本使用该信息执行操作,将修改后的数据发送回浏览器,然后您使用该数据执行操作。我的错误!我会更新我的代码。在谷歌搜索如何在JSFIDLE中实现ajax后,我将路径改为/echo/html/。但现在我无法获得我提交的显示号码…——编辑:将工作的ID以及,谢谢。你愿意吗