Модальное окно jQuery удаляет элементы из моей формы

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


и сделать форматирование в вашей модели представления. В качестве альтернативы вы можете использовать MultiBinding и конвертер (примерный код не проверен):


    
        
            
            
        
    


public class StringFormatter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        return string.Format((string)values[1], values[0]);
    }
    ...
}

10
задан svinto 20 February 2009 в 18:41
поделиться

4 ответа

У меня просто была та же проблема. Я решил его путем добавления другого

<div id="beforesubmit" style="display:none"></div> 

в конце (но внутри) формы и затем необходимо добавить это к jQuery:

$("form").submit(function() {
    $("#add_photo").prependTo("#beforesubmit");
});

Это удостоверится, что, прежде чем форма, утверждают, что Ваше диалоговое отделение будет отложено промежуточное теги form. Благодаря arnorhs я пришел к этому решению.

Удачи!

16
ответ дан 3 December 2019 в 16:31
поделиться

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

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

3
ответ дан 3 December 2019 в 16:31
поделиться

Форма должна быть в отделении. Это - то, как это находится во всех Диалоговых примерах. Не уверенный, как Вы собираетесь сделать это с заголовком и исходными данными URL, не находящимися на диалоговом окне. Разве Вы не могли поместить их на него также?

Это не имело бы проблемы:

<div id="add_photo" style="width: auto;" class="ui-dialog-content ui-widget-content"  title="Add Photo"> 
  <form enctype="multipart/form-data" action="/system/article/add/" class="from" method="post"> 
    <label for="article_title" class="required">Title:</label> 
    <input class="formfield" id="article_title" name="article_title" value="" type="text"> 

    <label for="url" class="required">Url:</label> 
    <input class="formfield" id="url" name="url" value="" type="text"> 

    <label for="photo_title" class="optional">Photo title:</label> 
    <input class="formfield" id="photo_title" name="photo_title" value="" type="text">
    <label for="photot" class="optional">Photo thumb:</label> 
    <input type="file" name="photot" id="photot" class="formfield">
    <label for="photo_checkbox" class="optional">Include lighbox?</label> 
    <input name="photo_checkbox" value="0" type="hidden"> 
    <input class="checkbox" id="photo_checkbox" name="photo_checkbox" value="1" type="checkbox"> 
    <label for="photo_big" class="optional">Photo:</label> 
    <input type="file" name="photo_big" id="photo_big" class="formfield"> 
  </form>
</div>
3
ответ дан 3 December 2019 в 16:31
поделиться

Эта статья описывает, как решить Вашу проблему:

Вы будете видеть, что содержание, которое мы имели на полпути через нашу страницу, было повышено с дополнительными классами и, самое главное, помещено внизу страницы сразу перед закрывающим тэгом. Почему это важно? Поскольку это также означает, что любой ASP.NET управляет Вами, место в этом диалоговом окне также появится внизу страницы, за пределами тега страницы. Это означает, что Вы не сможете получить дескриптор им на обратной передаче.

Каково решение? Ну, существует две опции:

  1. Положите обратно элементы к форме и вручную отправьте, когда кнопка будет нажата
  2. Клонируйте элементы, когда Вы создаете диалоговое окно, затем клонируете значения назад, триггер нажимают на исходную кнопку (или, если у Вас только есть одно или два значения для регистрации назад, просто присвойте значения ASP.NET скрытое полевое управление).
1
ответ дан 3 December 2019 в 16:31
поделиться
Другие вопросы по тегам:

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