2008-12-02 4 views
9

Вот фрагмент кода. , ,с помощью «onclick» с переключателем в appengine

<form name="FinalAccept" method="get"><br> 

<input type="radio" name="YesNo" value="Yes" onclick="/accept"> Yes<br> 

<input type="radio" name="YesNo" value="No" onclick="/accept"> No<br> 

Очевидно, что я пытаюсь сделать, это позвонить рутина связана с/принимать, когда пользователь нажимает на кнопку радио.

Я знаю, что процедура работает, потому что я называю ту же процедуру из другого места в программе.

Я пытаюсь запустить его локально с помощью Google Appserver. Есть что-то, что мне не хватает?

Благодаря

ответ

2

Ваше событие OnClick ожидает некоторый Javascript код:

onclick="SomeJavaScriptCode" 

Подробнее здесь: http://www.w3schools.com/jsref/jsref_onClick.asp

Таким образом, вы должны делать что-то вроде этого:

onClick="myfunction('my value');" 

EDIT: похоже, вы хотите перейти к URL-адресу, когда пользовательский клик ks либо «да», либо «нет». Чтобы сделать это, вы можете попробовать это немного яваскрипта кода:

onClick="location.href='http://www.example.com/accept';" 
onClick="location.href='http://www.example.com/decline';" 

Теперь, если вы хотите автоматически отправить форму, когда пользователь нажимает либо «да» или «нет», то делать то, что говорит о Benry:

onClick="this.form.submit();" 

Надеюсь, это поможет.

+0

где вы определяете эту функцию? , даже если я вкладываю глупость, это не вызывает ошибки. Похоже, он никогда не называется. Есть ли способ сделать вызов onclick cgi-скриптом? Я не использую javascript для этого. – Baltimark 2008-12-02 01:54:28

1

Возможно, вы думаете о действии = для элемента формы. onClick просто запускает функцию javascript.

12

Если вы хотите, чтобы представить всю форму, когда пользователь нажимает на кнопку радио, попробуйте следующее:

<form name="FinalAccept" method="get" action="accept"><br> 
<input type="radio" name="YesNo" value="Yes" onclick="this.form.submit();"> Yes<br> 
<input type="radio" name="YesNo" value="No" onclick="this.form.submit();"> No<br> 
</form> 

Plus, если вы хотите, чтобы ваш пользовательский интерфейс немного более удобной для пользователей, изменить его это:

<form name="FinalAccept" method="get" action="accept"><br> 
<input id="rYes" type="radio" name="YesNo" value="Yes" onclick="this.form.submit();"> 
<label for="rYes">Yes</label><br> 
<input id="rNo" type="radio" name="YesNo" value="No" onclick="this.form.submit();"> 
<label for="rNo">No</label><br> 
</form> 

Это сделает текст «Да» и «Нет» в качестве ярлыков для их переключателей. Пользователь может щелкнуть метку, чтобы выбрать радиокнопку.