2009-10-07 3 views
0

У меня есть форма с типом ввода = изображение. Раньше у него было подтверждение в onclick, которое возвращало true/false, позволяя/останавливая отправку формы. Я недавно «обновил» до немодального диалога с обработчиком обратного вызова.Тип ввода = Изображение «Вкл.» Без события onclick

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

Я могу использовать скрытое поле со старым именем и настроить его на обход этой проблемы, но это кажется неуклюжим. Что было бы хорошо, если бы я мог «включить ввод», не вызывая onclick (рекурсивное бедствие). Возможно, это не катастрофа, а не сексуальность. Я попытался установить значение ввода для включения, но это не похоже на сообщение.

Любые идеи? P.S. Я не использую .NET, поэтому решения, связанные с ASP.NET, не будут применяться :-(

Я добавляю пример кода. Когда вы нажимаете Foo !, вы заметите, что Foo.x = 0 и Foo.y = . 0 в адресной строке Щелкнув бар, вы ничего не получите, я хотел бы иметь возможность поставить панель на форме внутри BarCallback

Код:..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title></title> 
    <script language="javascript" type="text/javascript"> 
     function Bar() { 
      setTimeout(BarCallback, 500); 
      return false; 
     } 

     function BarCallback() { 
      document.getElementById('TheForm').submit(); 
     } 
    </script> 
</head> 
<body> 
    <form method="get" id="TheForm"> 
     <input type="image" alt="Foo!" name="Foo" /> 
     <br /> 
     <input type="image" alt="Bar!" name="Bar" onclick="return Bar();" /> 
    </form> 
</body> 
</html> 
+0

Пожалуйста, разместите код HTML и JavaScript – eveliotc

ответ

0

что было бы хорошо, если бы я мог «включить ввод»

Невозможно, извините. Вы можете добавить еще один элемент управления, чтобы притворяться, что это (например, скрытый ввод или прямой параметр, если вы используете AJAX).

Я попытался установить значение ввода для включения, но это не похоже на сообщение.

Как это произошло? Для ввода изображения вам нужно будет указать .x и .y суффиксы имени поля, так как это браузеры, чтобы передать изображение, щелкнув мышью по позиции. например.

<input type="hidden" name="submit.x" value="1" /> 
<input type="hidden" name="submit.y" value="1" /> 

код ищет вход, чтобы быть на ...

Могли бы вы не исправить код, чтобы удалить это требование?

+0

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

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