Моя форма выглядит примерно так:
[ radio ] Use your current picture
[ radio ] Use the sites default
SELECT THIS ONE DYNAMICALLY --> [ radio ] Upload a picture from your computer
---------------- [BrowseButton]
Единственная проблема, связанная с этим, заключается в том, что когда пользователь нажимает либо на само поле ввода («----»), либо на кнопку «Обзор», соответствующий переключатель не становится выбранным (что ожидается). Я пытаюсь прикрепить события Javascript к полю, но, похоже, ничего не работает.
Не уверен, что это действительно имеет значение, но серверная часть - это .NET, и этот код используется для генерации поля:
<li>
<asp:RadioButton ID="rbUpload" GroupName="avatar" runat="server" Text="Upload a new picture from your computer" />
<asp:FileUpload ID="fileUpload" runat="server" /> Maximum file size: 4 MB.
<asp:PlaceHolder ID="FileUploadMessages" runat="server">
</li>
Который выплевывает следующий HTML:
<li>
<input type="radio" value="rbUpload" name="ctl00$ContentPlaceHolder$avatar" id="ctl00_ContentPlaceHolder_rbUpload"><label for="ctl00_ContentPlaceHolder_rbUpload">Upload a new picture from your computer</label>
<input type="file" id="ctl00_ContentPlaceHolder_fileUpload" name="ctl00$ContentPlaceHolder$fileUpload"> Maximum file size: 4 MB.
</li>
Я знаю, что эти типы полей "только для чтения", но это не должно быть проблемой здесь ... верно? Я пытался прикрепить события jQuery, такие как .click
, но, похоже, они не работают. Смотрите здесь:
$("#ctl00_ContentPlaceHolder_fileUpload").click(function() {
$("#ctl00_ContentPlaceHolder_rbUpload").click(); // sets radio
})
Есть идеи?