Показать сообщение отдельно
  #1 (permalink)  
Старый 31.03.2016, 21:15
Новичок на форуме
Отправить личное сообщение для mishanay Посмотреть профиль Найти все сообщения от mishanay
 
Регистрация: 14.01.2012
Сообщений: 9

Запуск (инициализация скрипта) после добавления на загруженную страницу
Здравствуйте! Есть форма в которую с помощью JS добавляются поля по желанию (клику). Поля эти имеют некий input к которому привязывается jQuery.datetimepicker.
То есть выглядет это примерно так:
// ### Добавление допполей
var items=1;
function AddItem() {
  table=document.getElementById("manuf");
  button=document.getElementById("tbody");
  buttontable=document.getElementById("table")[0];
  items++;
newitem="<td><input name='name_manuf[]' class='form-control' type='text' value=''></td>";
  newitem+="<td><input name='col_manuf[]' class='form-control' type='text' value='' ></td>";
  newitem+="<td><input name='price_zakup_manuf[]' id='price_zakup_manuf"+items+"' class='form-control' type='text' value='' ></td>";
  newitem+="<td><input name='procent_manuf[]' id='procent_manuf"+items+"' class='form-control' type='text' value='' ></td>";
  newitem+="<td><input name='price_prod_manuf[]' id='price_prod_manuf"+items+"' class='form-control' type='text' value='' ></td>";
  newitem+="<td><input name='nacenka_manuf[]' id='nacenka_manuf"+items+"' class='form-control' type='text' value='' ></td>";
  newitem+="<td><input name='date_manuf[]' id='DateTeme"+items+"' class='form-control' type='text' value='' ></td>";
  newitemJs="jQuery.datetimepicker.setLocale('ru'); jQuery('#DateTeme"+items+"').datetimepicker({timepicker:false, format:'Y.m.d', changeMonth: true, inline:false, onChangeDateTime:function(dp,$input){ var $text123 = $('#DateTeme"+items+"').val(); $('#DateTeme"+items+"').val($input.val())}});";
  newnode=document.createElement("tr");
  newnodeJs=document.createElement("script");
  newnodeJs.innerHTML=newitemJs;
  newnode.innerHTML=newitem;
  newnodeall=newnode+=newnodeJs;
  table.appendChild(newnodeall,button);
  //table.insertBefore(newnodeJs,button);

// ### Проценты и наценка для допполей
get=document.querySelector.bind(document)
zakup=get("#price_zakup_manuf"+items)
percent=get("#procent_manuf"+items)
result=get("#nacenka_manuf"+items)
itogo=get("#price_prod_manuf"+items)
percent.oninput=function(){
	result.value=percent.value*(zakup.value/100); // Наценка
	itogo.value=(parseInt (result.value, 10)+parseInt (zakup.value, 10)); // Продажная цена
	};
itogo.oninput=function(){
	result.value=(parseInt (itogo.value, 10)-parseInt (zakup.value, 10)); // Продажная цена вручную
	}
}


HTML который должен в идеале получиться:
<tbody id="manuf">
	<tr>
		<td>
		<input name="inputHand" type="hidden" value="1">
			<input name="name_manuf[]" class="form-control inputHand" type="text" value="">
		</td>
		<td>
			<input name="col_manuf[]" class="form-control inputHand" type="text" value="">
		</td>
		<td>
			<input name="price_zakup_manuf[]" id="price_zakup_manuf" class="form-control inputHand" type="text" value="">
		</td>
		<td>
			<input name="procent_manuf[]" id="procent_manuf" class="form-control inputHand" type="text" value="">
		</td>
		<td>
			<input name="price_prod_manuf[]" id="price_prod_manuf" class="form-control inputHand" type="text" value="">
		</td>
		<td>
			<input name="nacenka_manuf[]" id="nacenka_manuf" class="form-control inputHand" type="text" value="">
		</td>
		<td>
			<input name="date_manuf[]" id="DateTeme" class="form-control inputHand" type="text" value="">
<script type="text/javascript">
//### Дата
jQuery.datetimepicker.setLocale('ru'); // Дата
jQuery('#DateTeme').datetimepicker({
  timepicker:false,
  format:'Y.m.d',
  changeMonth: true,
  inline:false,
  onChangeDateTime:function(dp,$input){
	  var $text123 = $('#DateTeme').val();
	  $("#DateTeme").val($input.val())
  }
});
</script>
		</td>
	</tr>
	<tr>
		<td>
			<input name="name_manuf[]" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="col_manuf[]" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="price_zakup_manuf[]" id="price_zakup_manuf2" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="procent_manuf[]" id="procent_manuf2" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="price_prod_manuf[]" id="price_prod_manuf2" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="nacenka_manuf[]" id="nacenka_manuf2" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="date_manuf[]" id="DateTeme2" class="form-control" type="text" value="">
<script type="text/javascript">
			//### Дата
jQuery.datetimepicker.setLocale('ru'); // Дата
jQuery('#DateTeme2').datetimepicker({
  timepicker:false,
  format:'Y.m.d',
  changeMonth: true,
  inline:false,
  onChangeDateTime:function(dp,$input){
	  var $text123 = $('#DateTeme2').val();
	  $("#DateTeme2").val($input.val())
  }
});
</script>
		</td>
	</tr>
	<tr>
		<td>
			<input name="name_manuf[]" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="col_manuf[]" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="price_zakup_manuf[]" id="price_zakup_manuf3" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="procent_manuf[]" id="procent_manuf3" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="price_prod_manuf[]" id="price_prod_manuf3" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="nacenka_manuf[]" id="nacenka_manuf3" class="form-control" type="text" value="">
		</td>
		<td>
			<input name="date_manuf[]" id="DateTeme3" class="form-control" type="text" value="">
<script type="text/javascript">
			//### Дата
jQuery.datetimepicker.setLocale('ru'); // Дата
jQuery('#DateTeme3').datetimepicker({
  timepicker:false,
  format:'Y.m.d',
  changeMonth: true,
  inline:false,
  onChangeDateTime:function(dp,$input){
	  var $text123 = $('#DateTeme3').val();
	  $("#DateTeme3").val($input.val())
  }
});
</script>
		</td>
	</tr>
</tbody>


Но, в итоге получаю ошибку: main-page.js:180 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

Помогите пожалуйста разобраться.
Ответить с цитированием