所以我浏览了这个教程http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/而不是使用php我创建了自己的经典asp页面,但有一件事在我尝试在输入框中放置空格时会让我烦恼,例如,如果我把账单门放在它显示为billgates的名称字段中
任何想法
$(".btn22").bind("click", function() {
var name = $("input#yourname").val();
if (name === "") {
$("input#yourname").focus();
return false;
}
var email = $("input#youremail").val();
if (email === "") {
$("input#youremail").focus();
return false;
}
var message5 = $("#limitedtextarea").text();
if (message5 === "") {
$("#limitedtextarea").focus();
return false;
}
var sku5 = $("#sku5").val();
var dataString = 'yourname='+ name + '&youremail=' + email + '&message=' + message5 + '&sku5=' + sku5;
$.ajax({
type: "POST",
url: "actions/newreview.asp",
data: dataString,
success: function() {
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<br><br><p class='big red'>Thanks for the review.</p>")
.hide()
.fadeIn(1500, function() {
$('#message');
});
}
});
return false;
});
});
'asp looks like this
name = request.form("yourname")
email = request.form("youremail")
sku = request.form("sku5")
comment = request.form("message")
then inserts names into a database, but it has already gotten rid of the spaces before this point
答案 0 :(得分:0)
你必须在这里发布你的标记,以便我们确定发生了什么,但你是否将输入类型设置为type ='text'?
答案 1 :(得分:0)
看起来你正在对表单数据进行自己的编码。不确定这是不是问题,但可能是。 jQuery包含一个为您执行此操作的实用程序。
dataString = $("#JqAjaxForm").serialize();
参考:http://api.jquery.com/serialize/
其他一些评论:
您可能希望生成一个javascript对象,而不仅仅是使用表单编码。在这种情况下,如果在dataType:json
方法上使用post()
,jQuery会将其序列化为json。
在您的经典ASP页面中使用Javascript。对于您来说,在客户端(浏览器)和服务器上使用相同的语言可能会使事情变得更简单。
答案 2 :(得分:0)
想出来只是添加了name = escape(name)添加%20 in然后把它取出来在我的asp代码中添加空格
谢谢大家