google form отправка запроса с сайта

453
24 ноября 2016, 09:49

В принципе мне уже довали совет и оно должно было работать но возникает два момента

1) при отправке браузер выдает вот такую вот ошибку

XMLHttpRequest cannot load https://docs.google.com/forms/d/e/1FAIpQLSc21wkMrttbTA52zOKFIL7DcS4AGf_4cB8Is3xXuGHR0x20cw/formResponse. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access.

2) если я отключаю CORS через расширение для хрома запись в форму все равно не ведется

может кто сможет найти где именно у меня ошибка и подсказать как избавить от 1 пункта

вот мой код:

<script> 
$(document).ready(function(){ // после загрузки DOM 
		$('#gform-jquery').submit(function(e){ // вешаем событие на отправку формы 
			e.preventDefault(); // выключаем стандартное действие отправки 
			var form = $(this); // запомним форму в переменной 
			// добавим небольшую секцию проверки на заполненность 
			var errors = false; // сначала ошибок нет 
			form.find('.req').each(function(){ // пройдем по каждому полю с классом .req в форме 
			$(this).removeClass('error'); // сначала уберем у него класс с ошибкой, на случай если он там есть 
			if ($(this).val() == '') { // если оно пустое 
			$(this).addClass('error'); // добавим к нему класс с ошибкой 
			errors = true; // найдена ошибка 
		} 
	}); 
	if (errors) return false; // если есть ошибка то больше ничего не делаем 
	var data = form.serialize(); // сериализуем данные формы в строку для отправки, обратите внимание что атрибуты name у полей полностью сопдают с нэймами у полей самой гугл формы 
	$.ajax({ // инициализируем аякс 
			url: "https://docs.google.com/forms/d/e/1FAIpQLSc21wkMrttbTA52zOKFIL7DcS4AGf_4cB8Is3xXuGHR0x20cw/formResponse", // слать надо сюда, строку с буковками надо заменить на вашу, это атрибут action формы 
			data: data, // данные  которые мы сериализовали 
			type: "POST", // постом 
			dataType: "xml", // ответ ждем в формате xml 
			beforeSend: function(){ // перед отправкой 
			form.find('button').attr('disabled'); // отключим кнопку 
			}, 
statusCode: { // после того как пришел ответ от сервера 
	0: function (){ // это успешный случай 
	form.html('<h4>Спасибо!</h4><p>Форма отправлена блаблабла</p>'); // сунем в форму сообщение что все ок 
	}, 
	200: function (){ // это тоже успешный случай 
	form.html('<h4>Спасибо!</h4><p>Форма отправлена блаблабла</p>'); // сунем в форму сообщение что все ок 
	} 
	} 
	}); 
	}); 
}); 
</script>
        
<div class="b-popup"  id="popup1"> 
	<div class="b-popup-content"> 
		<form action="" id="gform-jquery"> 
			<input type="hidden" name="entry.1179079021" class="req" value="name"> 
			<div class="col-md-6"> 
				<label>Size 
				<select name="entry.1547622696"> 
					<option value="Вариант 1">S</option> 
					<option value="Вариант 2">M</option> 
					<option value="Вариант 3">L</option> 
					<option value="Вариант 3">XL</option> 
					<option value="Вариант 3">XXL</option> 
				</select> 
			</label> 
			</div> 
			<div class="col-md-6"> 
				<label>Sex 
				<select name="entry.1646445519"> 
					<option value="Вариант 1">M</option> 
					<option value="Вариант 2">W</option> 
				</select> 
			</label> 
			</div> 
			 
			<label>Number/Email 
				<input type="text" name="entry.2014696128" class="req txt"> 
			</label> 
			<button type="submit" class="btn" onclick="PopUpHide()" > 
			 Отправить  
			</button> 
		</form> 
	</div> 
</div>

READ ALSO
Перемножение полей

Перемножение полей

Как перемножить значение поля "Вес" именно с тем пробы, у которого нет класса uk-hidden? Пока не получилось реализовать даже по событию click. .

406
Как вернуть значение из события или из функции обратного вызова?

Как вернуть значение из события или из функции обратного вызова?

Пытаюсь делать вот так, но ничего не получается:.

466