Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Прикрепите к событию кнопки отправки click
и измените атрибут action
в обработчике событий.
Вы можете сделать это на стороне javascript.
<input type="submit" value="Send It!" onClick="return ActionDeterminator();">
При щелчке, функция JavaScript ActionDeterminator () определяет URL альтернативного действия. Пример кода.
function ActionDeterminator() {
if(document.myform.reason[0].checked == true) {
document.myform.action = 'http://google.com';
}
if(document.myform.reason[1].checked == true) {
document.myform.action = 'http://microsoft.com';
document.myform.method = 'get';
}
if(document.myform.reason[2].checked == true) {
document.myform.action = 'http://yahoo.com';
}
return true;
}
Это простой способ сделать это, если вам нужно только поддерживать современные браузеры: на кнопку отправки добавить атрибут formaction="/alternate/submit/url"
, например:
<form>
[fields]
<input type="submit" value="Submit to a" formaction="/submit/a">
<input type="submit" value="submit to b" formaction="/submit/b">
</form>
Он также работает на <button>
теги.
Получено, что старые версии IE (& lt; 10) и Android-браузер (& lt; 4.0) не поддерживают его. Итак, если вам нужно поддерживать старые браузеры, тогда существующие ответы JS, вероятно, будут работать лучше для вас.
Дополнительная информация: http://www.wufoo.com/html5/attributes/13 -formaction.html
Вы также можете установить значение атрибута onSubmit
в теге формы. Вы можете установить его значение с помощью Javascript.
Что-то вроде этого:
<form id="whatever" name="whatever" onSubmit="return xyz();">
Here is your entire form
<input type="submit">
</form>;
<script type=text/javascript>
function xyz() {
document.getElementById('whatever').action = 'whatever you want'
}
</script>
Помните, что onSubmit
имеет более высокий приоритет, чем атрибут действия. Поэтому всякий раз, когда вы указываете значение onSubmit
, эта операция будет выполнена сначала, а затем форма перейдет в действие.
<enter>
, не щелкая в любом месте.
– Paulpro
5 December 2015 в 01:28
onSubmit="return xyz();"
, как это. разве мы не можем иметь onSubmit="xyz()"
?
– prime
11 February 2016 в 08:15
<input type='submit' value='Submit' onclick='this.form.action="somethingelse";' />
Или вы можете изменить его вне формы, а javascript - обычным способом:
document.getElementById('form_id').action = 'somethingelse';
Формация HTML5 не работает в старых браузерах IE. Легкое исправление, основанное на некоторых из приведенных выше ответов, следующее:
<button onclick="this.form.action='/PropertiesList';"
Account Details </button>
action
в требуемое значение до i> submit? – Oded 12 April 2011 в 21:10