2013-10-07 6 views
0

У меня есть код, такойAjax - не отправлять данные, которые содержат дефис

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("form#submit").submit(function() { 
    // we want to store the values from the form input box, then send via ajax below 
    var word = $('#word').attr('value'); 
    var sentence = $('#sentence').attr('value'); 
    var email = $('#email').attr('value'); 
     $.ajax({ 
      type: "POST", 
      url: "/sentence-examples/suggestsentence.php?", 
      data: "sentence="+ sentence+ 
      "&word="+ word+ 
      "&email="+ email, 
      success: function(data){ 
       $('form#submit :input').not('input[type="submit"]').val(""); 
       $('div.success').fadeIn(); 
       $('div.success').html(data); 
      } 
     }); 
    return false; 
    }); 
}); 
function hide(obj) { 
    var el = document.getElementById(obj); 
    el.style.display = 'none'; 
} 

за то, что когда-либо причиной, которую я не могу понять, когда «слово» содержит дефис, как «полукровка» не будет передать переменную в мой скрипт. Он выглядит пустым.

Любая помощь?

+0

Попробуйте «данные: {предложение: предложение}» (просто догадка) – tymeJV

ответ

1
  • не использовать .attr('value'), но .val() вместо этого. (var word = $('#word').val();)
  • не вручную построить строку параметров, но не использовать

    data: { 
        sentence: sentence, 
        word: word, 
        email: email 
    } 
    
  • нет необходимости в ? в конце URL, так как вы используете data: опцию
  • чек, если проблема находится в /sentence-examples/suggestsentence.php файл и порядок обработки представленных данных
Смежные вопросы