Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Append данных к существующему тегу (https://javascript.ru/forum/misc/58814-append-dannykh-k-sushhestvuyushhemu-tegu.html)

Arx777 12.10.2015 12:21

Append данных к существующему тегу
 
Есть форма

<form action="" id='PageViewForm' onsubmit="ga('sent'); ">
    <label><input></label>
</form>


К onsubmit нужно добавить
yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;


Чтоб получилось так
<form action="" id='PageViewForm' onsubmit="ga('sent'); yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true; ">
    <label><input></label>
</form>


Знаю, что новые теги можно создавать с заданными атрибутами так (сомневаюсь, что это вообще правильное направление):
$('#PageViewForm').append($('<img/>', { id: 'myimg', src: 'https://mc.yandex.ru/watch/' + id, style: 'position:absolute; left:-9999px;' }));


Добавлять к атрибуту так
$(document).ready(function(){
            document.getElementById('PageViewForm').onsubmit ="yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;";
        });


Но не один вариант не работает :-?

рони 12.10.2015 12:41

Arx777,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  img{
      height: 100px;
    }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
  <script>
   $(function(){
  var id = 'victory.gif';
  $('#PageViewForm').append($('<img/>', { id: 'myimg', src: 'http://javascript.ru/forum/images/smilies/' + id, css: {'position' : 'absolute',  'left': '100px'}}));
  });


  </script>
</head>

<body>
  <form action="" id='PageViewForm' onsubmit="ga('sent'); yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;" name="PageViewForm">
    <label><input></label>
  </form>
</body>
</html>

Arx777 12.10.2015 12:50

рони, эм, нет. Как картинку приапендить, я и так знаю:)

Мне надо в форму
<form action="" id='PageViewForm' onsubmit="ga('sent');">
    <label><input></label>
</form>


К onsubmit приапендить
yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;


Чтоб получилось так
<form action="" id='PageViewForm' onsubmit="ga('sent'); yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;">
    <label><input></label>
</form>

Lemme 12.10.2015 13:09

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form action="" id='PageViewForm' onsubmit="ga('sent');">
		<label><input></label>
	</form>
	<script>
		var pf = document.getElementById('PageViewForm');
		var str = "yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;";
		pf.setAttribute('onsubmit', pf.getAttribute('onsubmit') + ' ' + str);

		alert(pf.getAttribute('onsubmit'));
	</script>
</body>
</html>

рони 12.10.2015 13:12

Цитата:

Сообщение от Arx777
yaCounter'.yandex_metrika_id.'.reachGoal('corp_lan ding_order'); return true;

бред какой-то ... но если хотите
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
  <script>
   $(function(){
  var sub = document.querySelector("#PageViewForm").getAttribute("onsubmit") + " yaCounter'.yandex_metrika_id.'.reachGoal('corp_landing_order'); return true;"
  document.querySelector("#PageViewForm").setAttribute("onsubmit", sub)
  alert($("body").html())
  });


  </script>
</head>

<body>
  <form action="" id='PageViewForm' onsubmit="ga('sent');" name="PageViewForm">
    <label><input></label>
  </form>
</body>
</html>

laimas 12.10.2015 13:13

Цитата:

Сообщение от Arx777
Добавлять к атрибуту так

Добавляется, значит будет использовано, тогда зачем добавлять в атрибут, если это можно сразу использовать в обработчике onsubmit?

ruslan_mart 12.10.2015 13:44

Собрались тут мастера-дЖекуэрщики. :)

form.onsubmit = function() {
    yaCounter[yandex_metrika_id].reachGoal('corp_lan ding_order');
};

рони 12.10.2015 14:07

Ruslan_xDD,
а то что было где?

рони 12.10.2015 14:22

:write:
как то так
<form action="" id='PageViewForm' onsubmit="alert(this.name);" name="PageViewForm">
    <label>
        <input>
    </label>
    <input name="" type="submit" value="ok">
</form>
<script>
    var form = document.forms.PageViewForm;
    var fn = form.onsubmit.bind(form);
    document.forms.PageViewForm.onsubmit = function() {
        fn();
        alert("test");
        return false
    };
</script>


Часовой пояс GMT +3, время: 20:26.