Выбранный Jquery, получение нескольких значений выбора в vbscript/classic asp и ASPupload

сегодня утром я опубликовал вопрос о сценарии Chosen jQuery, который заключался в том, как я могу получить значения из выбранного поля множественного выбора jquery с помощью классического asp, кто-то попросил меня предоставить демонстрационный код, поэтому при его создании все, кажется, работает все внезапный штраф, и подумал, что вы знаете, что я старею, однако после попытки реализовать код я столкнулся с теми же проблемами, но я думаю, что, возможно, нашел проблему, с которой я столкнулся. Ниже вы найдете соответствующий код:

Сюда входят 2 формы выбранного jquery (http://harvesthq.github.com/chosen/), верхняя — обычная форма, вторая — форма с функцией загрузки, я включил приведенный ниже код обеих страниц. :

Код для «example.jquery.html»

<!doctype html> 
<html lang="en"> 
<head>
  <link rel="stylesheet" href="chosen/chosen.css" />
</head>
<body>
<h3>Chosen without enctype="multipart/form-data"</h3>
<form action="CollectChosenData.asp?type=plain" method="post" name="ExampleChosen">
<div id="container">
    Multiple Select<br><br>
    <select data-placeholder="Your Favorite Types of Bear" style="width:350px;" multiple class="chzn-select" name="ChosenData" tabindex="8">
        <option value=""></option>
        <option value="1">American Black Bear</option>
        <option value="2">Asiatic Black Bear</option>
        <option value="3">Brown Bear</option>
        <option value="4">Giant Panda</option>
        <option value="5" selected>Sloth Bear</option>
        <option value="6">Sun Bear</option>
        <option value="7" selected>Polar Bear</option>
        <option value="8">Spectacled Bear</option>
    </select>
    <br>
    <br>

    text field:
    <input type="text" name="othertext" value="text value">
    <br>
    <br>
    <input type="submit" name="ExampleChosenSubmit" value="Post form">
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
  <script src="chosen/chosen.jquery.js" type="text/javascript"></script>
  <script type="text/javascript"> $(".chzn-select").chosen();</script>
  </form>
<br>
<hr>
<br>

<h3>Chosen with enctype="multipart/form-data"</h3>
<form action="CollectChosenData.asp?type=upload" method="post" name="ExampleChosenUpload" enctype="multipart/form-data">
<div id="container">
    Multiple Select<br><br>
    <select data-placeholder="Your Favorite Types of Bear" style="width:350px;" multiple class="chzn-select" name="ChosenData" tabindex="8">
        <option value=""></option>
        <option value="1">American Black Bear</option>
        <option value="2">Asiatic Black Bear</option>
        <option value="3">Brown Bear</option>
        <option value="4">Giant Panda</option>
        <option value="5" selected>Sloth Bear</option>
        <option value="6">Sun Bear</option>
        <option value="7" selected>Polar Bear</option>
        <option value="8">Spectacled Bear</option>
    </select>

    <br>
    <br>

    other field:
    <input type="file" name="mytestfile" value="">
    <br>
    <br>

    text field:
    <input type="text" name="othertext" value="text value">
    <br>
    <br>
    <input type="submit" name="ExampleChosenSubmit" value="Post form">
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
  <script src="chosen/chosen.jquery.js" type="text/javascript"></script>
  <script type="text/javascript"> $(".chzn-select").chosen();</script>
  </form>
</body>
</html>

====================================================================================================================================================================

код для «CollectChosenData.asp»

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Untitled</title>
</head>

<body>
<% 
If Request.Querystring("type") = "plain" Then
    Response.write "Value collected from chosen select box: '"& Request.Form("ChosenData") &"'<br/>"
    Response.write "Value collected from text field: '"& Request.Form("othertext") &"'<br/>"
ELseIf Request.Querystring("type") = "upload" Then
    Set objUpload = Server.CreateObject("Persits.Upload")
        objUpload.OverwriteFiles = False
        objUpload.SetMaxSize 1048576    ' Limit files to 1MB
        objUpload.SaveVirtual "/upload"
        Response.write "Value collected from chosen select box: '"& objUpload.Form("ChosenData") &"'<br/>"
        For Each File in objUpload.Files
            Response.write File.FileName &"<br/>"
        Next
        Response.write "Value collected from text field: '"& objUpload.Form("othertext") &"'<br/>"
    Set objUpload = nothing
End if

 %>
<br>
<br>
Return and <a href="example.jquery.html">try again</a>
</body>
</html>

Теперь, почему первая форма (простая версия) возвращает мне правильные значения для «ChosenData», а вторая форма — нет?

Большое спасибо за вашу помощь и ответы, ребята, говорит он, почесывая голову.....


person DevCentral    schedule 26.09.2012    source источник


Ответы (1)


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

См. раздел "Upload.Form возвращает только первый выбранный элемент элемента управления с множественным выбором".

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

person Flakes    schedule 27.09.2012
comment
Никогда не знал, что у persist были проблемы с этим, спасибо за эту информацию и ссылку, я посмотрю на это сегодня и опубликую результат здесь, спасибо, хлопья - person DevCentral; 27.09.2012