2014-12-07 3 views
-4

Почему этот код не работает? Я проверил его более одного раза, но я не могу найти ошибку! Я просто экспериментирую с jquery и формами, но похоже, что он не хочет работать!JQuery и простые события

<!doctype html> 
<head> 
<meta charset="utf-8"> 

<title>Mini Blog</title> 
<meta name="description" content="My Parse App"> 
<meta name="viewport" content="width=device-width"> 
<link rel="stylesheet" href="css/try.css"> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.3.2.min.js"></script> 
</head> 

<body> 
<div id="myID"></div> 
<script type="text/javascript"> 

    var postTitle = $("#postTitle").val(); 
    var postText = $("#postText").val(); 
    var sexAuthor = $("#sexAuthor").val(); 
    var cityAuthor = $("#cityAuthor").val(); 


    $("#button").click(function() 
    { 
     string = postTitle + postText + sexAuthor + cityAuthor; 
     $("#visualize").text("a"); 
     alert('amama'); 
    }); 


</script> 


    <h2>Title:</h2> <br> 
    <input type="text" id="postTitle"> <br> 
    <h2>Contenuto del post:</h2> 
    <input type="text" id="postText"> <br> 
    <h2>Sei..?</h2> 
    <input type="radio" id="sexAuthor" value="M"> M <br> 
    <input type="radio" id="sexAuthor" value="F"> F <br> 
    <h2>Vieni da:</h2> <br> 
    <option> - Scegli città zì - </option> 
    <select id="city"> 
     <option value="Roma"> Roma </option> 
     <option value="Milano"> Milano </option> 
    </select> <br> 
    <button id="button"> Inviame zì! </button> <br> 
    <p id="visualize"></p> 


</body> 

</html> 
+2

Определить «Не работает». Какое поведение вы ожидаете? Как это отличается от того, что происходит? Что говорит консоль ошибок JavaScript? Подтвердили ли вы, что все ваши файлы загружаются, проверяя вкладку net tool разработчика в вашем браузере? – Quentin

+0

Пожалуйста, [научитесь любить ярлыки] (http://www.456bereastreet.com/archive/200711/use_the_label_element_to_make_your_html_forms_accessible/) вместо использования подзаголовков. – Quentin

+0

Что произойдет, если вы выполните этот код? –

ответ

1

Вы должны убедиться, что элементы DOM, которые вы хотите получить с помощью javascript, загружаются, прежде чем пытаться найти их с помощью js. Вы должны поместить свои скрипты под html прямо перед тегом </body> и обернуть (большинство из них) в функцию готовности документа.

$(document).ready(function() { 
var postTitle = $("#postTitle").val(); 
    var postText = $("#postText").val(); 
    var sexAuthor = $("#sexAuthor").val(); 
    var cityAuthor = $("#cityAuthor").val(); 


    $("#button").click(function() 
    { 
     var string = postTitle + postText + sexAuthor + cityAuthor; 
     $("#visualize").text("a"); 
     alert('amama'); 
    }); 

}); 

Другой вопрос, почему вы не найдете выбранное значение вашего радио позже, ваш HTML:

<input type="radio" id="sexAuthor" value="M"> M <br> 
<input type="radio" id="sexAuthor" value="F"> F <br> 

вы можете дать идентификатор ровно один DOM элемента. Но вы можете изменить его в класс и дать им имя и проверить, какой из них выбран:

alert($('input[name=sexAuthor]:checked').val()); 

и HTML

<input type="radio" class="sexAuthor" name = "sexAuthor" value="M"> M <br> 
<input type="radio" class="sexAuthor" name = "sexAuthor" value="F"> F <br> 
<h2>Vieni da:</h2> <br> 
-1

Что вы пытаетесь сделать этот код делать? Он работает здесь: http://jsfiddle.net/4hvab248/2/

Возможно, вы захотите объявить var string = ... в функции щелчка #button только для чистоты.

+0

Да, это проблема, потому что, даже если я заменю строку var внутри функции нажатия кнопки, она не работает! –

Смежные вопросы