我有一个页面,它使用jQuery提交表单并将数据追加回来。但是,使用mod_rewrite时它不起作用。如果您在此页面上http://mydomain.com/file.php?string=m5cl
,那么它将起作用。怪异。
这是我的代码:
$(function() {
$('.error').hide();
$('input.text-input').css({backgroundColor:"#FFFFFF"});
$('input.text-input').focus(function(){
$(this).css({backgroundColor:"#FFDDAA"});
});
$('input.text-input').blur(function(){
$(this).css({backgroundColor:"#FFFFFF"});
});
$(".button").click(function() {
// validate and process form
// first hide any error messages
$('.error').hide();
var message = $("textarea#message").val();
var fullname = $("input#fullname").val();
var ticket_id = $("input#ticket_id").val();
var date = $("input#datee").val();
var picture_url = $("input#picture_url").val();
var userid = $("input#userid").val();
var user_status = $("input#user_status").val();
var sent = $("input#sent").val();
var dataString = 'message=' + message + '&user_id=' + userid + '&user_status=' + user_status + '&date=' + date + '&sent=' + sent + '&ticket_id=' + ticket_id;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
success: function() {
$(wrapperId).append("<div style='background-color:#dcd9d9;padding:15px;-moz-border-radius:8px;border-radius:8px; border:1px solid #d3d0d0;'><img src='" + $('#picture_url').val() + "' style='float:left;margin-right:15px;margin-top:-3px; border:3px solid #ffffff;' width='39'><div style='font-size:18px;font-family:Helvetica;color:#363636;font-weight:lighter;margin-bottom:2px;'>" + $('#fullname').val() + "</div><div style='font-size:14px;font-family:Helvetica;color:#363636;font-weight:lighter;text-align:justify;'>" + $('#datee').val() + "</div></div><div style='font-size:15px;color:#363636;line-height:18px;margin-top:15px;padding:0px 15px 0px 15px;text-align:justify;margin-bottom: 30px;'>" + $('#message').val() + "</div>");
}
});
return false;
});
});
runOnLoad(function(){
$("input#name").select().focus();
});
答案 0 :(得分:0)
不是原始问题的答案,但这是一个关键修复。
您无需执行所有操作:
var message = $("textarea#message").val();
var fullname = $("input#fullname").val();
var ticket_id = $("input#ticket_id").val();
var date = $("input#datee").val();
var picture_url = $("input#picture_url").val();
var userid = $("input#userid").val();
var user_status = $("input#user_status").val();
var sent = $("input#sent").val();
var dataString = 'message=' + message + '&user_id=' + userid + '&user_status=' + user_status + '&date=' + date + '&sent=' + sent + '&ticket_id=' + ticket_id;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "process.php",
data: dataString,
success: function() {
如果所有这些内容都在<form>
元素中,并且每个元素都具有与变量名称相同的name=
属性(因此它会正确传递给脚本),您可以凝聚所有,进入这个(是的,真的):
$.ajax({
type: "POST",
url: "process.php",
data: $('#yourFormId').serialize(),
success: function() {
此外,由于您没有清理值,如果我在其中一个输入框中放置一个空格,您的POST请求将会死亡,因为请求字符串将无效。
答案 1 :(得分:0)
你试过这个吗?
var dataString =
{
'message': message,
'user_id': userid,
'user_status': user_status,
'date': date,
'sent':sent,
'ticket_id': ticket_id
}