Действительно ли вложенный <форма> возможно?

на странице содержания веб-страницы asp.net я хотел бы включать кнопку "Pay Now" "PayPal".

Так, у меня есть основная страница и страница содержания. В моей вставке копии страницы i содержания код PayPal. В особенности я использую "modalpopupextender", чтобы разрешить моему пользователю покупать объект. Проблема..., она не работает. Таким образом, мои гипотезы:

  1. Я не уверен, но я думаю, что не могу использовать вложенный <form action>
  2. Если не первое, возможно, я не могу использовать a <form action> в модальное всплывающее окно?

кто-то может предложить меня "изящные" решения решить это? Спасибо...

Править: в частности, что я пытаюсь сделать, должен разрешить продавать от веб-сайта. У меня есть основная страница и страница содержания. Очевидно, на основной странице у меня есть классическое "действие формы". Затем я ухожу к PayPal и получил этот код:"

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<table>
<tr><td>
    <input type="hidden" name="on0" value="Annuncio Premium">Annuncio Premium
</td></tr>
<tr><td>
    <select name="os0">
        <option value="Premium 1">Premium 1 €1,00</option>
    </select>
</td></tr>
</table>
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="encrypted" value="-----BEGIN ">
<input type="image" src="https://www.paypal.com/it_IT/IT/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - Il sistema di pagamento online più facile e sicuro!">
<img alt="" border="0" src="https://www.paypal.com/it_IT/i/scr/pixel.gif" width="1" height="1">
</form>

Таким образом, я вставил его в свою страницу содержания... как он... без изменения. В особенности я вставил его в панель, которая покажет с "modalpopupextender".Работает. Но то, что это не работает, - когда я нажимаю кнопку "Buy Now" PayPal. Моя веб-страница не перенаправляет к PayPal, modalpopup исчезает, и ничего не происходит.

9
задан abatishchev 5 July 2010 в 06:24
поделиться

4 ответа

У меня тоже была такая проблема, и я не мог поверить, что PayPal не предоставил какого-то решения для разработчиков .NET!!!

Вот как я решил эту проблему:

<asp:ImageButton ID="btnPayNow" runat="server" ImageUrl="myPayPalButton.jpg" 
 PostBackUrl="https://www.paypal.com/cgi-bin/webscr" OnClick="btnPayNow_Click"/>

Используйте ImageButton или обычную кнопку и просто удалите теги формы для кода PayPal, оставьте скрытые поля ввода и данные будут опубликованы в PayPal url!

Легко и просто :)

Ps. Метод 'btnPayNow_Click()' ничего не делает, подпись есть, но логики в коде нет.

17
ответ дан 4 December 2019 в 10:03
поделиться

Вы совершенно правы в том, что вы не можете вложить

s.

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

Однако у вас может быть много на странице, если они не вложены. Возможно, это решит вашу проблему.

Не могли бы вы точно описать, чего вы пытаетесь достичь? Из вашего вопроса неясно, в чем проблема.

3
ответ дан 4 December 2019 в 10:03
поделиться

Если я правильно понял вопрос, вы пытаетесь создать динамическое всплывающее окно HTML, которое содержит форму PayPal. У вас возникают проблемы, потому что всплывающее окно содержит форму, но HTML для всплывающего окна уже содержится в форме.

Если ваша проблема заключается в том, что я описал выше, решение довольно простое. Вам нужно переместить весь HTML для всплывающего окна за пределы выходящего элемента form. Если вы используете CSS для правильной компоновки сайта, то вы сможете отобразить динамическое всплывающее окно в любом месте страницы с помощью относительного или абсолютного позиционирования. HTML для всплывающего окна не обязательно должен содержаться в другой форме. Также возможно (возможно, даже необходимо) поместить содержимое всплывающего окна в iframe, который может быть представлен совершенно независимо от остальной части страницы. Семантика работы всплывающего окна будет зависеть от того, как должна функционировать ваша страница.

Итак, для ясности... невозможно вложить элементы формы. Однако это также не является необходимым для реализации ваших потребностей.

EDIT:

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

1
ответ дан 4 December 2019 в 10:03
поделиться

Вы правы в своей первой гипотезе, вы не можете иметь вложенные теги форм на странице.

Вы просто должны поместить код всплывающего окна вне формы, вы можете иметь любое количество форм на странице, если они не вложены.

0
ответ дан 4 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: