420 Man Ответов: 1

Получить изображение для отображения на основе выбранного параметра из выпадающего списка


Мне нужна помощь в исправлении изображения Аватара, которое я пытаюсь добавить в свой код.

Я использую xml-файл для хранения данных. Моя проблема заключается в том, что изображение Аватара, которое я хочу отобразить после того, как человек, регистрирующийся, выберет его из выпадающего списка. Проблема в том, что он будет работать, когда я удалю "runat=server" и "Type=image". Проблема: он останавливает работу формы из-за скрипта для отправки в xml-файл. Так как для этого требуется значение, а select требует запуска на стороне сервера.

Аватар
Изображение
Дисплей

раскрывающийся список
То есть выбирается сорняк фермер
Изображение фермера сорняков должно заполнять < img>

Что я уже пробовал:

<UserLoginDetials>
  <users>
    <Avatar />
    <FullName />
    <Street />
    <City />
    <State />
    <Postal />
    <Contact />
    <Alternate />
    <EmailAddress />
    <UserName />
    <Password />
    <PinCode />
    <SecurityQuestion />
    <SecurityAnswer />
    <Roles />
</UserLoginDetials>

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.Security " %>
<%@ Import Namespace="System.IO" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"

  <script runat="server">
    private void Page_Load ( Object sender, EventArgs e )
      {
          String loginname = Request.QueryString["UserName"];
          String email = Request.QueryString["EmailAddress"];
        String password = Request.QueryString["Password"];

      if (null != loginname)
          UserName.Value = loginname;
      if (null != email)
          SecurityQuestion.Value = email;
      if (null != password)
          Password.Value = password;
      }
      
    private void AddUser_Click ( Object sender, EventArgs E )
        {
        if ( !Page.IsValid ) {
            Msg.Text = "Some required fields are missing";
            return;
            }
        DataSet ds = new DataSet ( );
        String userFile = "K10e20R20r07Y/UserInformation.xml";
        
        FileStream fs = new FileStream ( Server.MapPath ( userFile ),
            FileMode.Open,FileAccess.Read );
        StreamReader reader = new StreamReader ( fs );
        ds.ReadXml ( reader );
        fs.Close ( );
        
        DataRow newUser = ds.Tables [ 0 ] .NewRow ( );
        newUser["Avatar"] = Avatar.Value;
        newUser["FullName"] = FullName.Value;
        newUser["Street"] = Street.Value;
        newUser["City"] = City.Value;
        newUser["State"] = State.Value;
        newUser["Postal"] = Postal.Value;
        newUser["Contact"] = Contact.Value;
        newUser["Alternate"] = Alternate.Value;
        newUser["EmailAddress"] = EmailAddress.Value;
        newUser["UserName"] = UserName.Value;
        newUser["Password"] = Password.Value;
        newUser["PinCode"] = PinCode.Value;
        newUser["SecurityQuestion"] = SecurityQuestion.Value;
        newUser["SecurityAnswer"] = SecurityAnswer.Value;
        newUser["Roles"] = Roles.Value;
        ds.Tables[0].Rows.Add(newUser);
        ds.AcceptChanges ( );
        
        fs = new FileStream ( Server.MapPath ( userFile ), FileMode.Create,
            FileAccess.Write|FileAccess.Read );
        StreamWriter writer = new StreamWriter ( fs );
        ds.WriteXml ( writer );
        writer.Close ( );
        fs.Close ( );

        Response.Redirect("K10e20R20r07Y/UserAdded.aspx", false);
    }
  </script>

   <script type="text/javascript">
     <!--
       function checkPhone(obj) {
           str = obj.value.replace(/[^0-9]+?/g, '');
           switch (str.length) {
               case 0:
                   alert('Please enter numbers only.');
                   obj.select();
                   return;
               case 7:
                   str = str.substr(0, 3) + "-" + str.substr(3, 4);
                   break;
               case 10:
                   str = "(" + str.substr(0, 3) + ") " + str.substr(3, 3) + "-" + str.substr(6, 4);
                   break;
               default:
                   alert('Please enter a 7 digit phone number (with area code, if applicable).');
                   obj.select();
                   return;
           }
           obj.value = str;
       }
       //-->
  </script>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="BlueView" Runat="Server">
  <div class="demo">
<---------WON"T WORK -------------->

<img id="image" src="../app_images/faces/av00-anonymous.jpg" alt="" />

<select id="Avatar" runat="server" <big>onclick="setAvat()"</big> type="image">
    <option value="../app_images/faces/av00-anonymous.jpg" anonymous /option>
    <option value="../app_images/faces/av02-cannabisrevolution.png" cannabisrevolution /option>
    <option value="../app_images/faces/av05-weedfarmer.png" weedfarmer /option>
</select>

  <script language="javascript" type="text/javascript">
      function setAvat() {
          var img = document.getElementById("image");
          img.src = this.value;
          return false;
      }
      document.getElementById("Avatar").onchange = setAvat;
  </script>

<---------WON"T WORK -------------->
  
  Full Name: 
  <asp:RequiredFieldValidator ID="FullNameValidate" runat="server" ControlToValidate="FullName" Display="Static" ErrorMessage="* Required" /> 
  <asp:RegularExpressionValidator ID="regexpName" runat="server"     

                                    ErrorMessage="This expression does not validate." 

                                    ControlToValidate="FullName"     

                                    ValidationExpression="^[a-zA-Z'.\s]{1,40}$" /><br>
  
  Username:  
  <asp:RequiredFieldValidator ID="UsernameValidator" runat="server" ControlToValidate="UserName" Display="Static" ErrorMessage="* Required" /><br>
  

  Password:   
  unmask 
  <asp:RequiredFieldValidator ID="PasswordValidator" runat="server" ControlToValidate="Password" Display="Static" ErrorMessage="* Required" /><br>
  
  Security Pin:  
  <asp:RequiredFieldValidator ID="PinCodeValidator" runat="server" ControlToValidate="PinCode" Display="Static" ErrorMessage="* Required" /><br>
  
  Security Question:  
  <asp:RequiredFieldValidator ID="QuestionValidator" runat="server" ControlToValidate="SecurityQuestion" Display="Static" ErrorMessage="* Required" /><br>
  
  Security Answer:  
  <asp:RequiredFieldValidator ID="AnswerValidator" runat="server" ControlToValidate="SecurityAnswer" Display="Static" ErrorMessage="* Required" /><br>
  
    <asp:Label ID="Msg" runat="server" style="visibility:hidden">
  <!-- Persistent Forms: --><asp:CheckBox Visible="false" id="PersistForms" runat="server" autopostback="true"  />
  </div>

[no name]

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

Я знаю, что есть что-то, что я упускаю или переоцениваю. Есть ли там какая-нибудь помощь?

[no name]

Эта проблема была решена. Я нашел эту проблему, и теперь она отлично работает. Я обнаружил, что использую jquery 1.11.1, я изменил его на jquery 1.11.2, и все начало работать.

1 Ответов

Рейтинг:
4

420 Man

Эта проблема была решена. Я нашел эту проблему, и теперь она отлично работает. Я обнаружил, что использую jquery 1.11.1, я изменил его на jquery 1.11.2, и все начало работать.


PIEBALDconsult

Пожалуйста, не отвечай на свой вопрос. Используйте "улучшить вопрос", чтобы добавить туда информацию.

[no name]

Никто другой не сидел бы в течение 2 дней. Хмм.