Задать вопрос
Ответы пользователя по тегу JavaScript
  • Не могу передать POST запрос ajax/js почему?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    и, как минимум, я б сюда сходу добавил - абсолютное непонимание у человека об ЧПК...
    это почти как ЧПУ - "Человекопонятные Урлы", ток - "Человекопонятный Код"!))
    название функции - должно передавать свою суть, а не какую-то выдуманно-сокращённую лично тобою хрень в виде _

    пускай другие люди лучше прочитают много раз getElementById, чем много раз будут потом лезть непонятно куда и вычитывать что твоё _ грёбанное, делает вообще...

    ты дурила, вон тут, совсем мелкий кусок своего говнокода вырвал нам из контекста общего, так даже и тут нихрена не понятно, а представь что эта дичь потом разрастётся по всему проекту и вместо того, что б человеку сразу прочитать getElementById, он будет лазуть хрен пойми куда и там вычитывать, что твоё надуманное _ делает вообще бля...
    Ответ написан
    2 комментария
  • Как извлеч и отправить текстовое содержимое checkbox на почту?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    HTML:
    ...
    
    <head>
    	<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    	<script type="text/javascript">
    		$(document).ready(function() {
    			$("#ajax_form").on("submit", function(){
    				var data = [];
    				
    				$("#ajax_form input[type='checkbox']:checked").each(function(){
    					data.push({value: $(this).val(), text: $("label[for="+$(this).attr("id")+"]").text()});
    				});
    
    				$.ajax({
    					type: "POST",
    					url: "test.php?do_action=some_action3",
    					data: {chk1: data},
    					success: function(sum){
    						alert("Сумма - "+sum);
    					}
    				});
    
    				return false;
    			});
    		});
    	</script>
    </head>
    
    ...
    
    	<main>
    		<section>
    			<form method="post" action="">
    				<input type="hidden" name="do_action" value="some_action" />
    				<label for="house"><input type="checkbox" name="chk1[Дом]" id="house" value="4000000" />Дом</label>
    				<label for="avto"><input type="checkbox" name="chk1[Авто]" id="avto" value="1000000" />Авто</label>
    				<label for="phone"><input type="checkbox" name="chk1[Телефон]" id="phone" value="25000" />Телефон</label>
    				<button type="submit">go! go! go!</button>
    			</form>
    		</section>
    		<p> или например так:</p>
    		<section>
    			<form method="post" action="">
    				<input type="hidden" name="do_action" value="some_action2" />
    
    				<label for="house2"><input type="checkbox" name="chk1[0]" id="house2" value="4000000" />Дом</label>
    				<input type="hidden" name="chk1_value[0]" value="Дом" />
    				<label for="avto2"><input type="checkbox" name="chk1[1]" id="avto2" value="1000000" />Авто</label>
    				<input type="hidden" name="chk1_value[1]" value="Авто" />
    				<label for="phone2"><input type="checkbox" name="chk1[2]" id="phone2" value="25000" />Телефон</label>
    				<input type="hidden" name="chk1_value[2]" value="Телефон" />
    
    				<button type="submit">go! go! go!</button>
    			</form>
    		</section>
    		<p>ну или с AJAX, вот так:</p>
    		<section>
    			<form method="post" action="" id="ajax_form">
    				<input type="hidden" name="do_action" value="some_action3" />
    				<label for="house3"><input type="checkbox" name="chk1[]" id="house3" value="4000000" />Дом</label>
    				<label for="avto3"><input type="checkbox" name="chk1[]" id="avto3" value="1000000" />Авто</label>
    				<label for="phone3"><input type="checkbox" name="chk1[]" id="phone3" value="25000" />Телефон</label>
    				<button type="submit">go! go! go!</button>
    			</form>
    		</section>
    	</main>


    PHP:
    if (isset($_REQUEST['do_action'])) {
    	switch ($_REQUEST['do_action']) {
    		case 'some_action':
    			foreach ($_REQUEST['chk1'] as $k => $v) {
    				echo $k.' - '.$v.'<br />';
    			}
    
    			$sum = array_sum($_REQUEST['chk1']);
    			echo '<br />Сумма - '.$sum;
    			break;
    
    		case 'some_action2':
    			foreach ($_REQUEST['chk1'] as $k => $v) {
    				echo $_REQUEST['chk1_value'][$k].' - '.$v.'<br />';
    			}
    
    			$sum = array_sum($_REQUEST['chk1']);
    			echo '<br />Сумма - '.$sum;
    			break;
    
    		case 'some_action3':
    			$sum = 0;
    			for ($i = 0; $i < count($_REQUEST['chk1']); $i++) {
    				//echo $_REQUEST['chk1'][$i]['text']; // do something with text here!
    				$sum += $_REQUEST['chk1'][$i]['value'];
    			}
    			echo $sum;
    			
    			exit();
    			break;
    	}
    }
    Ответ написан
  • Почему вместо пробела выводится undefined?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    Ну вы хоть свой код приведите, ради приличия и что б не быть телепатами)
    Очевидно же, что в эту строку вы явно что-то "не так пихаете")
    Ответ написан
    2 комментария
  • Как выбрать динамически созданный элемент?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    да, console.log($(".имя_класса").width()) и смотри консольку
    F12 - хром, как было сказано выше
    Ответ написан
  • Получение конкретного блока через ajax?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    $('#users_wrap').html(result); замените на - console.log($('main').html());
    буду телепатом..
    Ответ написан
    2 комментария
  • Как приготовить игру на js?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    ну и раз уж такая тема поднялась, может кто скажет чем тот же Юнити плох именно лдя мобильных платформ? кроме своего скриптового (в связке с визуальщиной) подхода к программингу. подводные камни там, и всё такое
    а то засмотрелся как раз в его сторону не давно
    Ответ написан
  • Почему не выводится value в change функции?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    ибо с тегом - <select> всё чуток по другому (google it -> "html select get selected value"):
    $("#my_select").change(function() {
            var e = document.getElementById("my_select");
            var razmer = e.options[e.selectedIndex].value;
    
            $("h3").text(razmer);
        }
     );

    но это действительно смесь JS и jQuery, разберитесь с этим моментом, ибо так никто не делает.
    либо на чистом JS:
    function addEvent(e, type, handler) {
      if (e.addEventListener) {
        e.addEventListener(type, handler, false)
      } else {
        e.attachEvent("on"+type, handler)
      }
    }
    
    var select = document.getElementById("my_select");
    addEvent(select, "change", function() {
        var razmer = this.options[this.selectedIndex].value;
        document.getElementsByTagName("h3")[0].innerHTML = razmer;
    });


    либо на jQuery, как показали выше
    Ответ написан
    Комментировать
  • Как сделать в jquery так, чтобы в зависимости от того, по какому элементу сделан клик вставлялся тот или иной html?

    oOLokiOo
    @oOLokiOo
    PHP Developer
    Ибо не верное выражение в if () у вас.
    Сделайте console.log($(this)); и смотрите что будет в консоле.

    Можно примерно вот так - https://jsfiddle.net/oOLokiOo/bgxxgg81/8/
    Ответ написан
    Комментировать