Подтвердить что ты не робот

Window.location() не работает, а не открывает страницу

У меня есть кнопка отправки с onClick:

<div id="messageDiv">
<form>
<textarea name="message" rows="10" cols="20"></textarea></textarea>
<br /><br />
<input type="submit" value="Send" onClick="sendmail()">
<input type="reset" value="Reset" name='reset'>
</form>
</div>

то у меня есть sendmail:

   function sendmail()
   {   
      window.location.href = "http://www.rainbowcode.net/index.php/profiles/mail?="+mailid;
      window.location('http://www.rainbowcode.net/index.php/profiles/mail?='+mailid);
      //return true;
   }

mailid - глобальная переменная, которая устанавливается в другой JS-функции и содержит правильное значение. Почему window.location не открывает мою страницу?

Если я вручную открою его с помощью mailid, он отлично работает.

4b9b3361

Ответ 1

Настройка местоположения работает нормально, но затем отправляется форма, которая вместо этого перезагружает текущую страницу.

Возвращает false из метода:

function sendmail() {   
  window.location.href = "http://www.rainbowcode.net/index.php/profiles/mail?="+mailid;
  return false;
}

и вернуть этот статус в случае остановки отправки:

<input type="submit" value="Send" onclick="return sendmail()">

Ответ 2

Если вам нужно открыть новое окно, вы должны использовать метод window.open(). window.location относится к текущему адресу Windows и будет только - при использовании window.location.reload() - перезагрузить окно CURRENT.

Ответ 3

Уже твердые ответы, но зачем бороться с системой? В частности, если вы вызвали с jquery или onClick - может быть, нет встроенного возврата, это моя точка, поэтому вместо этого вы можете просто изменить действие на submit:

document.form.action = 'http://www.rainbowcode.net/index.php'

тогда вы можете выбрать любую из переменных формы, если они вам понадобятся, или игнорировать, если нет.