2013-04-02 1 views
1

Я хочу веб-страницу, которая отключит кнопку и запустит функцию после обновления страницы, кнопка будет снова включена. Кнопка создается с помощью приведенного ниже метода. Проблема в том, что когда я нажимаю на кнопку, она может быть отключена, но она не будет запускать эту функцию, страница даже не будет обновляться. Не знаю, откуда эта проблема.ASP Отключить кнопку и запустить функцию

set common = server.createobject("Pen_Ebizcommonproc.stringproc")

<%=common.writeButton ("Submit1","Submit","Create New Sales Contract",30,"onclick=""this.disabled=true;CheckGWidth(this.form);this.form.ContractType.value='N';""")%>

+0

Что происходит, когда вы нажимаете кнопку? Представлена ​​ли форма? У вас даже есть форма? Кроме того, пожалуйста, опубликуйте сгенерированную разметку кнопки, возможно, это не кнопка отправки. –

+0

@ShadowWizard Мне удалось решить проблему. Еще раз спасибо :) –

ответ

2

То, что я делаю в основном, извлекает его в функции javascript. Я помню, что отключение кнопки отменяет любое последующее встроенное действие этой кнопки.

<form action="test.asp" method="post"> 
    <input type="submit" onclick="doSomething(this);" /> 
    <input type="text" id="ContractType" name="ContractType" /> 
</form> 

Тогда в JavaScript

function doSomething(sender) 
{ 
    sender.disabled=true; 
    CheckGWidth(sender.form); 
    sender.form.ContractType.value='N'; 
    sender.form.submit(); 
} 

Надежда это какой-либо помощи.

+0

Ну, я сделал, чтобы добавить form1.submit() в onClick. Поскольку это также похоже на sender.form.submit() в предоставленном вами решении. Что касается submit(), то лучше всего предположить, что если мы отключим кнопку, а затем запустим функцию (проверка на стороне клиента), проверка на стороне сервера не будет выполняться из-за отключения кнопки. Таким образом, Submit() заставит его снова передать данные на сервер с клиентской стороны. Поправьте меня если я ошибаюсь. –

+1

Я считаю, что ты прав. Отключенная кнопка работает как «return false»; таким образом отменяя любое действие * стороны клиента *. –

0

Я должен был сделать это несколько раз, так что освежает страницу и пересматривает страницу трактуются по-разному к своей первой поездке или после подачи одной части формы, когда есть на странице отображается несколько форм, например, при расчете обновлений для корзины покупок.

В зависимости от сценария я использовал файлы cookie для записи загруженной страницы, чтобы я мог определить, был ли это первый визит, обновление или что. Если у вас есть две кнопки для таких вещей, как «обновление» или «финиш», они могут использовать отдельные формы с разными скрытыми полями для режима = update или mode = finish.

+0

К сожалению, это не сработает. Но мне удается решить проблему. Спасибо. –

+0

Почему я использую его во всех наших формах заказов, где пользователь сначала вычисляет скидку за количество? Я также использую его в пользовательских корзинах покупок на нескольких других сайтах. – WilliamK

+0

Я только что прочитал ваш ответ и, пожалуйста, не обижайся, но я хотел бы сказать, что ваше строительство потерпит неудачу, если посетитель отключил cookies. Вместо этого я лично использовал бы переменные Session и/или базы данных. Никогда не полагайтесь на то, что можно отключить :) –

Смежные вопросы