Html Object Data Binary Options
Eu acho que ltembedgt seria a melhor escolha para a frente. Ele estava no padrão HTML5, enquanto o Object tinha muitos recursos (atributos) desativados para separar a funcionalidade da tag embed. W3schools / tags / tagobject. asp Parece-me que a tag objeto é quase um 39Swiss exército knife39 tag enquanto incorporar é propósito construído para incorporação de conteúdo em uma página. Ndash cmaynard Apr 21 15 at 12:40 Você também pode usar o método iframe, embora este não é compatível com o navegador cruz (por exemplo, não funcionando em cromo ou android e, provavelmente, outros - em vez pede para fazer o download). Ele funciona com dataURLs e URLS normais, não tenho certeza se os outros exemplos funcionam com dataURLS (por favor, deixe-me saber se os outros exemplos funcionam com dataURLS) respondeu Jul 24 14 at 17:18 Incorporar não é uma tag padrão, embora objeto é. Heres um artigo que parece que vai ajudá-lo, uma vez que parece que a situação não é tão simples. Um exemplo para PDF está incluído. Respondeu Aug 7 09 at 14:01 Embed parece ser bastante padrão para mim - pelo menos em HTML5. Ndash kapa Jul 7 12 em 2:08 bamegakapa É certamente padrão agora com HTML5, mas esse artigo que ele está se referindo foi escrito de volta em 2008 e sua resposta é de 2009, que antecede HTML5. Ndash b1nary. atr0phy abril 7 13 em 6:24 b1naryatr0phy That39s porque eu adicionei o comentário. Ele deve atualizar ou remover a resposta na minha opinião, como não é mais relevante, então não vai ajudar os futuros visitantes. Ndash kapa Apr 16 13 at 7: 00SchemaTypes SchemaTypes identificador definição de caminho padrões. validação. Getters. Setters. Padrões de seleção de campo para consultas e outras características gerais para Strings e Números. Confira a respectiva documentação da API para obter mais detalhes. A seguir estão todos os tipos de esquema válidos. Exemplo de Opções de SchemaType Você pode declarar um tipo de esquema usando o tipo diretamente ou um objeto com uma propriedade de tipo. Além da propriedade type, você pode especificar propriedades adicionais para um caminho. Por exemplo, se você quiser minúsculas uma seqüência de caracteres antes de salvar: A propriedade minúscula só funciona para seqüências de caracteres. Existem algumas opções que se aplicam a todos os tipos de esquema e algumas que se aplicam a tipos de esquema específicos. Todos os tipos de esquema necessários. Boolean ou função, se true adiciona um validador necessário para esta propriedade padrão. Qualquer ou função, define um valor padrão para o caminho. Se o valor for uma função, o valor de retorno da função é usado como o padrão. Selecione. Boolean, especifica projeções padrão para consultas validate: function, adiciona uma função de validação para esta propriedade get. , Define um getter personalizado para esta propriedade usando Object. defineProperty (). conjunto. , Define um setter personalizado para esta propriedade usando Object. defineProperty (). Os índices também podem definir opções de tipo de esquema de índices MongoDB (docs. mongodb / manual / indexes /). Index: boolean, se definir um sobre esta propriedade. Unique: boolean, se deve definir um índice exclusivo (docs. mongodb / manual / core / index-unique /) nesta propriedade. Sparse: boolean, se deve definir um índice esparso (docs. mongodb / manual / core / index-sparse /) nesta propriedade. String minúscula. Boolean, se deve sempre chamar. toLowerCase () no valor maiúsculas. Boolean, se deve sempre chamar. toUpperCase () na guarnição de valor. Boolean, se deve sempre chamar. trim () na correspondência de valor. RegExp, cria um validador que verifica se o valor corresponde ao enum de expressão regular dado. Array, cria um validador que verifica se o valor está na matriz fornecida. Número min. Número, cria um validador que verifica se o valor é maior ou igual ao mínimo especificado. Max. Número, cria um validador que verifica se o valor é menor ou igual ao máximo determinado. Date min: Date max: Data Notas de uso: Datas Os métodos de data embutidos não estão ligados à lógica de controle de mudança de mangustos, que em inglês significa que se você usar uma Data no seu documento e modificá-la com um método como setMonth (). Mongoose será inconsciente desta mudança e doc. save () não persistirão esta modificação. Se você precisar modificar os tipos de Data usando métodos internos, informe mongoose sobre a alteração com doc. markModified (39pathToYourDate39) antes de salvar. Mixed Qualquer coisa vai SchemaType, sua flexibilidade vem em um trade-off de ser mais difícil de manter. Mixed está disponível através de Schema. Types. Mixed ou passando um literal de objeto vazio. O seguinte é equivalente: Uma vez que é um tipo sem esquema, você pode alterar o valor para qualquer outra coisa que você gosta, mas Mongoose perde a capacidade de detectar automaticamente e salvar essas alterações. Para dizer Mongoose que o valor de um tipo misto foi alterado, chame o método. markModified (caminho) do documento passando o caminho para o tipo misto que você acabou de alterar. ObjectIds Para especificar um tipo de ObjectId, use Schema. Types. ObjectId em sua declaração. Arrays Nota: especificar uma matriz vazia é equivalente a Misto. O seguinte tudo criar matrizes de Misturado: Criando tipos personalizados Mongoose também pode ser estendido com SchemaTypes personalizado. Pesquise no site de plugins para tipos compatíveis como mongoose-long. Mongoose-int32 e outros tipos. Para criar seu próprio esquema personalizado, dê uma olhada em Criando um tipo de esquema personalizado básico. Next Up Agora que nós cobrimos SchemaTypes. Vamos dar uma olhada em Modelos ltobjectgt Tag Dicas e Notas Nota: Um elemento ltobjectgt deve aparecer dentro do elemento ltbodygt. O texto entre ltobjectgt e lt / objectgt é um texto alternativo, para navegadores que não suportam esta tag. Dica: Para imagens use a tag ltimggt em vez da tag ltobjectgt. Dica: Pelo menos um dos atributo quotdataquot ou quottypequot DEVE ser definido. Diferenças entre HTML 4.01 e HTML5 Alguns atributos HTML 4.01 não são suportados em HTML5. O atributo quotformquot é novo em HTML5. Em HTML5, os objetos podem ser usados e enviados em formulários. Em HTML5, os objetos não podem mais aparecer dentro do elemento ltheadgt de um documento. Atributos top bottom middle left right Não suportado em HTML5. Especifica o alinhamento do elemento ltobjectgt de acordo com os elementos circundantes Não suportado no HTML5. Uma lista separada por espaços de URLs para arquivos. Os arquivos contém recursos relevantes para o objeto Não suportado em HTML5. Um formulário HTML é uma seção de um documento contendo conteúdo normal, marcação, elementos especiais chamados controles (caixas de seleção, botões de rádio, menus, etc.) e rótulos nesses controles . Os usuários geralmente completam um formulário, modificando seus controles (inserindo texto, selecionando itens de menu, etc.), antes de enviar o formulário para um agente para processamento (por exemplo, para um servidor Web, para um servidor de correio, etc.). Inclui etiquetas, botões de opção e botões (redefinir o formulário ou enviá-lo): Nota. Esta especificação inclui informações mais detalhadas sobre formulários nas subseções sobre problemas de exibição de formulário. Um controle controle nome é dado pelo seu atributo de nome. O escopo do atributo name para um controle dentro de um elemento FORM é o elemento FORM. Cada controle tem um valor inicial e um valor atual, ambos são seqüências de caracteres. Consulte a definição de cada controle para obter informações sobre os valores iniciais e possíveis restrições sobre os valores impostos pelo controle. Em geral, um valor inicial de controles pode ser especificado com o atributo de valor de elementos de controle. No entanto, o valor inicial de um elemento TEXTAREA é dado pelo seu conteúdo eo valor inicial de um elemento OBJECT em um formulário é determinado pela implementação do objeto (ou seja, está fora do escopo desta especificação). O valor atual dos controles é primeiro ajustado para o valor inicial. Posteriormente, o valor atual dos controles pode ser modificado por interação do usuário e scripts. Um valor inicial de controles não é alterado. Assim, quando um formulário é redefinido, cada valor atual de controle é redefinido para seu valor inicial. Se um controle não tiver um valor inicial, o efeito de um formulário redefinido nesse controle é indefinido. Quando um formulário é submetido para processamento, alguns controles têm seu nome emparelhado com seu valor atual e esses pares são enviados com o formulário. Esses controles para os quais pares nome / valor são enviados são chamados de controles bem-sucedidos. O HTML define os seguintes tipos de controle: botões Os autores podem criar três tipos de botões: enviar. Quando ativado, um botão enviar envia um formulário. Um formulário pode conter mais de um botão Enviar. Botões de reinicialização. Quando ativado, um botão de reinicialização redefine todos os controles para seus valores iniciais. Apertar botões. Os botões não têm comportamento padrão. Cada botão pode ter scripts do lado do cliente associados com os atributos de eventos de elementos. Quando ocorre um evento (por exemplo, o usuário pressiona o botão, o libera, etc.), o script associado é disparado. Os autores devem especificar a linguagem de script de um script de botão por meio de uma declaração de script padrão (com o elemento META). Os autores criam botões com o elemento BUTTON ou o elemento INPUT. Consulte as definições desses elementos para obter detalhes sobre como especificar diferentes tipos de botões. Nota. Os autores devem notar que o elemento BUTTON oferece recursos de renderização mais ricos do que o elemento INPUT. Checkboxes Checkboxes (e botões de opção) são interruptores on / off que podem ser alternados pelo usuário. Um switch está ativado quando o atributo controlado elementos de controle é definido. Quando um formulário é enviado, somente em controles de caixa de seleção pode se tornar bem-sucedido. Várias caixas de seleção em um formulário podem compartilhar o mesmo nome de controle. Assim, por exemplo, as caixas de seleção permitem aos usuários selecionar vários valores para a mesma propriedade. O elemento INPUT é usado para criar um controle de caixa de seleção. Botões de rádio Os botões de rádio são como caixas de seleção exceto que quando vários compartilham o mesmo nome de controle. Eles são mutuamente exclusivos: quando um está ligado, todos os outros com o mesmo nome são desligados. O elemento INPUT é usado para criar um controle de botão de rádio. Se nenhum botão de rádio em um conjunto compartilhando o mesmo nome de controle estiver inicialmente ativado, o comportamento do agente de usuário para escolher qual controle está inicialmente ativado é indefinido. Nota. Uma vez que as implementações existentes lidar com este caso de forma diferente, a especificação atual difere do RFC 1866 (RFC1866 seção 8.1.2.4), que afirma: Em todos os momentos, exatamente um dos botões de rádio em um conjunto é verificado. Se nenhum dos elementos ltINPUTgt de um conjunto de botões de rádio especifica CHECKED, o agente do usuário deve verificar o primeiro botão de opção do conjunto inicialmente. Uma vez que o comportamento do agente de usuário difere, os autores devem garantir que em cada conjunto de botões de rádio que um está inicialmente ligado. Menus Os menus oferecem opções de usuários para escolher. O elemento SELECT cria um menu, em combinação com os elementos OPTGROUP e OPTION. Entrada de texto Os autores podem criar dois tipos de controles que permitem aos usuários inserir texto. O elemento INPUT cria um controle de entrada de linha única eo elemento TEXTAREA cria um controle de entrada de várias linhas. Em ambos os casos, o texto de entrada passa a ser o valor atual dos controles. File select Este tipo de controle permite ao usuário selecionar arquivos para que seu conteúdo possa ser enviado com um formulário. O elemento INPUT é usado para criar um controle de seleção de arquivo. Controles ocultos Os autores podem criar controles que não são processados, mas cujos valores são enviados com um formulário. Os autores geralmente usam esse tipo de controle para armazenar informações entre trocas cliente / servidor que de outra forma seriam perdidas devido à natureza sem estado do HTTP (veja RFC2616). O elemento INPUT é usado para criar um controle oculto. Controles de objeto Os autores podem inserir objetos genéricos em formulários de forma que os valores associados sejam enviados juntamente com outros controles. Os autores criam controles de objeto com o elemento OBJECT. Os elementos usados para criar controles geralmente aparecem dentro de um elemento FORM, mas também podem aparecer fora de uma declaração de elemento FORM quando são usados para criar interfaces de usuário. Isso é discutido na seção sobre eventos intrínsecos. Observe que os controles fora de um formulário não podem ser controles bem-sucedidos. 17.3 Ação do elemento FORM uri CT Este atributo especifica um agente de processamento de formulários. O comportamento do agente do usuário para um valor diferente de um URI HTTP é indefinido. Method getpost CI Esse atributo especifica qual método HTTP será usado para enviar o conjunto de dados do formulário. Possíveis valores (que não diferenciam maiúsculas de minúsculas) são get (o padrão) e post. Consulte a seção sobre o envio do formulário para obter informações sobre o uso. Enctype content-type CI Este atributo especifica o tipo de conteúdo usado para enviar o formulário para o servidor (quando o valor do método é post). O valor padrão para esse atributo é application / x-www-form-urlencoded. O valor multipart / form-data deve ser usado em combinação com o elemento INPUT, arquivo de tipo. Accept-charset charset list CI Este atributo especifica a lista de codificações de caracteres para dados de entrada aceitos pelo servidor que processa este formulário. O valor é uma lista delimitada por espaços e / ou vírgulas de valores de conjunto de caracteres. O cliente deve interpretar esta lista como uma lista exclusiva ou, ou seja, o servidor é capaz de aceitar qualquer codificação de caracteres única por entidade recebida. O valor padrão para esse atributo é a seqüência de caracteres reservados UNKNOWN. Agentes de usuário podem interpretar esse valor como a codificação de caracteres que foi usada para transmitir o documento que contém esse elemento FORM. Accept content-type-list CI Este atributo especifica uma lista separada por vírgulas de tipos de conteúdo que um servidor que processa este formulário manipulará corretamente. Os agentes de usuário podem usar essas informações para filtrar arquivos não conformes ao solicitar que um usuário selecione os arquivos a serem enviados para o servidor (consulte o elemento INPUT quando o arquivo de tipo). Name cdata CI Este atributo nomeia o elemento para que ele possa ser consultado a partir de folhas de estilo ou scripts. Nota. Esse atributo foi incluído para compatibilidade com versões anteriores. Aplicativos devem usar o atributo id para identificar elementos. Atributos definidos em outro lugar O elemento FORM atua como um contêiner para controles. Especifica: O layout do formulário (dado pelo conteúdo do elemento). O programa que tratará o formulário preenchido e submetido (o atributo de ação). O programa de recepção deve ser capaz de analisar pares nome / valor, a fim de fazer uso deles. O método pelo qual os dados do usuário serão enviados para o servidor (o atributo do método). Uma codificação de caracteres que deve ser aceita pelo servidor para poder manipular este formulário (o atributo accept-charset). Os agentes de utilizador podem aconselhar o utilizador do valor do atributo accept-charset e / ou restringir a capacidade do utilizador para introduzir caracteres não reconhecidos. Um formulário pode conter texto e marcação (parágrafos, listas, etc.) além de controles de formulário. O exemplo a seguir mostra um formulário que deve ser processado pelo programa adduser quando enviado. O formulário será enviado para o programa usando o método de postagem HTTP. Consulte a seção sobre o envio do formulário para obter informações sobre como os agentes de usuário devem preparar os dados do formulário para os servidores e como os agentes do usuário devem lidar com as respostas esperadas. Nota. Discussão adicional sobre o comportamento de servidores que recebem dados de formulário está além do escopo desta especificação. 17.4 O tipo de elemento INPUT textpasswordcheckboxradiosubmitresetfilehiddenimagebutton CI Este atributo especifica o tipo de controle a ser criado. O valor padrão para esse atributo é texto. Name cdata CI Esse atributo atribui o nome do controle. Value cdata CA Este atributo especifica o valor inicial do controle. É opcional, exceto quando o atributo type possui o valor radio ou checkbox. Size cdata CN Esse atributo informa ao agente do usuário a largura inicial do controle. A largura é dada em pixels, exceto quando o atributo type tem o valor text ou password. Nesse caso, seu valor refere-se ao número (inteiro) de caracteres. Maxlength number CN Quando o atributo type tem o valor text ou password, este atributo especifica o número máximo de caracteres que o usuário pode inserir. Esse número pode exceder o tamanho especificado. Caso em que o agente do usuário deve oferecer um mecanismo de rolagem. O valor padrão para esse atributo é um número ilimitado. Checked CI Quando o atributo type possui o valor radio ou checkbox, este atributo booleano especifica que o botão está ativado. Os agentes de usuário devem ignorar esse atributo para outros tipos de controle. Src uri CT Quando o atributo type tem a imagem de valor, este atributo especifica a localização da imagem a ser usada para decorar o botão de apresentação gráfica. Atributos definidos em outro lugar O tipo de controle definido pelo elemento INPUT depende do valor do atributo type: text Cria um controle de entrada de texto de linha única. Senha Como texto, mas o texto de entrada é processado de forma a ocultar os caracteres (por exemplo, uma série de asteriscos). Esse tipo de controle é freqüentemente usado para entradas sensíveis, como senhas. Observe que o valor atual é o texto inserido pelo usuário e não o texto processado pelo agente do usuário. Nota. Os criadores de aplicativos devem observar que este mecanismo oferece somente proteção de segurança leve. Embora a senha seja mascarada por agentes de usuários de observadores casuais, ela é transmitida ao servidor em texto simples e pode ser lida por qualquer pessoa com acesso de baixo nível à rede. Checkbox Cria uma caixa de verificação. Rádio Cria um botão de rádio. Submit Cria um botão Enviar. Image Cria um botão de envio gráfico. O valor do atributo src especifica o URI da imagem que irá decorar o botão. Por razões de acessibilidade, os autores devem fornecer texto alternativo para a imagem através do atributo alt. Quando um dispositivo apontador é usado para clicar na imagem, o formulário é enviado e as coordenadas de clique passadas para o servidor. O valor x é medido em pixels a partir da esquerda da imagem e o valor y em pixels a partir da parte superior da imagem. Os dados enviados incluem o nome. x valor x e nome. y valor y onde nome é o valor do atributo name, e valor x e valor y são os valores de coordenadas xey, respectivamente. Se o servidor tomar ações diferentes, dependendo do local clicado, os usuários de navegadores não gráficos serão prejudicados. Por esta razão, os autores devem considerar abordagens alternativas: Use vários botões de envio (cada um com sua própria imagem) no lugar de um único botão de envio gráfico. Os autores podem usar folhas de estilo para controlar o posicionamento desses botões. Use um mapa de imagem do lado do cliente juntamente com scripts. Reset Cria um botão de reinicialização. Button Cria um botão de pressão. Os agentes de usuário devem usar o valor do atributo value como o rótulo dos botões. Hidden Cria um controle oculto. File Cria um controle de seleção de arquivo. Os agentes do usuário podem usar o valor do atributo value como o nome inicial do arquivo.17.4.2 Exemplos de formulários que contêm controles INPUT O fragmento HTML exemplo a seguir define um formulário simples que permite ao usuário digitar um nome, sobrenome, endereço de e-mail, E gênero. Quando o botão enviar é ativado, o formulário será enviado para o programa especificado pelo atributo action. Esse formulário pode ser processado da seguinte maneira: Na seção sobre o elemento LABEL, discutimos a marcação de rótulos, como Primeiro nome. No próximo exemplo, a verificação do nome da função JavaScript é acionada quando ocorre o evento onclick: Consulte a seção sobre eventos intrínsecos para obter mais informações sobre scripts e eventos. O exemplo a seguir mostra como o conteúdo de um arquivo especificado pelo usuário pode ser enviado com um formulário. O usuário é solicitado para seu nome e uma lista de nomes de arquivo cujo conteúdo deve ser enviado com o formulário. Especificando o valor enctype de multipart / form-data, cada conteúdo dos arquivos será empacotado para apresentação em uma seção separada de um documento de várias partes. 17.5 O elemento BUTTON Atributos definidos em outro lugar Os botões criados com o elemento BUTTON funcionam como botões criados com o elemento INPUT, mas oferecem possibilidades de renderização mais ricas: o elemento BUTTON pode ter conteúdo. Por exemplo, um elemento BUTTON que contém uma imagem funciona como e pode assemelhar-se a um elemento INPUT cujo tipo é definido como imagem, mas o tipo de elemento BUTTON permite conteúdo. Os agentes visuais do usuário podem tornar os botões BUTTON com alívio e um movimento para cima / para baixo quando clicados, enquanto eles podem tornar os botões INPUT como imagens planas. O exemplo a seguir expande um exemplo anterior, mas cria botões de envio e redefinição com BOTÃO em vez de INPUT. Os botões contêm imagens por meio do elemento IMG. Lembre-se de que os autores devem fornecer texto alternativo para um elemento IMG. É ilegal associar um mapa de imagem com um IMG que aparece como o conteúdo de um elemento BUTTON. EXEMPLO ILEGAL: O seguinte não é HTML legal. 17.6 O botão SELECT. OPTGROUP. E OPTION SELECT Definições de atributo name cdata CI Esse atributo atribui o nome do controle. Size CN Se um elemento SELECT for apresentado como uma caixa de lista rolada, este atributo especifica o número de linhas na lista que devem estar visíveis ao mesmo tempo. Visual agentes do usuário não são obrigados a apresentar um elemento SELECT como uma caixa de listagem eles podem usar qualquer outro mecanismo, como um menu drop-down. Multiple CI Se definido, este atributo booleano permite múltiplas seleções. Se não estiver definido, o elemento SELECT só permite seleções individuais. Atributos definidos em outro lugar O elemento SELECT cria um menu. Cada opção oferecida pelo menu é representada por um elemento OPTION. Um elemento SELECT deve conter pelo menos um elemento OPTION. O elemento OPTGROUP permite aos autores agrupar escolhas de forma lógica. Isso é particularmente útil quando o usuário deve escolher entre uma longa lista de opções e grupos de escolhas relacionadas são mais fáceis de entender e lembrar do que uma única longa lista de opções. Em HTML 4, todos os elementos OPTGROUP devem ser especificados diretamente dentro de um elemento SELECT (isto é, os grupos não podem ser aninhados). Zero ou mais opções podem ser pré-selecionadas para o usuário. Os agentes de usuário devem determinar quais escolhas são pré-selecionadas da seguinte maneira: Se nenhum elemento OPTION tiver o conjunto de atributos selecionado, o comportamento do agente de usuário para escolher qual opção é inicialmente selecionada é indefinido. Nota. Como as implementações existentes lidam com este caso diferentemente, a especificação atual difere da RFC 1866 (RFC1866 seção 8.1.3), que afirma: O estado inicial tem a primeira opção selecionada, a menos que um atributo SELECTED está presente em qualquer um dos elementos ltOPTIONgt. Uma vez que o comportamento do agente de usuário é diferente, os autores devem assegurar que cada menu inclua uma OPÇÃO predefinida predefinida. Se um elemento OPTION tiver o atributo selecionado definido, ele deve ser pré-selecionado. Se o elemento SELECT tiver o conjunto de atributos múltiplos e mais de um elemento OPTION tiver o conjunto de atributos selecionado, todos devem ser pré-selecionados. É considerado um erro se mais de um elemento OPTION tiver o atributo selecionado definido e o elemento SELECT não tiver o conjunto de atributos múltiplos. Os agentes do usuário podem variar no modo como lidam com esse erro, mas não devem pré-selecionar mais de uma opção. OPTGROUP Definições de atributo label text CS Este atributo especifica o rótulo para o grupo de opções. Atributos definidos em outra parte Nota. Os implementadores são informados de que futuras versões do HTML podem estender o mecanismo de agrupamento para permitir que grupos aninhados (ou seja, os elementos OPTGROUP possam aninhar). Isso permitirá que os autores representem uma hierarquia de escolhas mais rica. OPTION Definições de atributos selecionadas CI Quando definido, este atributo booleano especifica que esta opção está pré-selecionada. Value cdata CS Este atributo especifica o valor inicial do controle. Se este atributo não estiver definido, o valor inicial é definido para o conteúdo do elemento OPTION. Label text CS Esse atributo permite que os autores especifiquem um rótulo mais curto para uma opção do que o conteúdo do elemento OPTION. Quando especificado, os agentes de usuário devem usar o valor desse atributo em vez do conteúdo do elemento OPTION como o rótulo de opção. Atributos definidos em outro lugar Ao renderizar uma opção de menu. Os agentes de usuário devem usar o valor do atributo label do elemento OPTION como a opção. Se esse atributo não for especificado, os agentes do usuário devem usar o conteúdo do elemento OPTION. O atributo label do elemento OPTGROUP especifica o rótulo para um grupo de opções. Neste exemplo, criamos um menu que permite ao usuário selecionar qual dos sete componentes de software a serem instalados. O primeiro e segundo componentes são pré-selecionados, mas podem ser desmarcados pelo usuário. Os componentes restantes não são pré-selecionados. O atributo tamanho indica que o menu deve ter apenas 4 linhas mesmo que o utilizador pode seleccionar entre 7 opções. As outras opções devem ser disponibilizadas através de um mecanismo de rolagem. O botão SELECT é seguido por botões de submeter e reiniciar. Somente as opções selecionadas serão bem-sucedidas (usando o controle name component-select). Quando nenhuma opção é selecionada, o controle não é bem-sucedido e nem o nome nem quaisquer valores são enviados para o servidor quando o formulário é enviado. Observe que, quando o atributo value é definido, ele determina o valor inicial dos controles. Caso contrário, o seu conteúdo elementos. Neste exemplo, usamos o elemento OPTGROUP para agrupar escolhas. A marcação a seguir: representa o seguinte agrupamento: Os agentes de usuário visuais podem permitir que os usuários selecionem grupos de opções por meio de um menu hierárquico ou algum outro mecanismo que reflita a estrutura de escolhas. Um agente de usuário gráfico pode renderizar isso como: Esta imagem mostra um elemento SELECT renderizado como menus em cascata. A etiqueta superior do menu exibe o valor atualmente selecionado (PortMaster 3, 3.7.1). O usuário desdobrou dois menus em cascata, mas ainda não selecionou o novo valor (PortMaster 2, 3.7). Observe que cada menu em cascata exibe o rótulo de um elemento OPTGROUP ou OPTION. 17.7 O nome do elemento TEXTAREA cdata CI Esse atributo atribui o nome do controle. Linhas número CN Este atributo especifica o número de linhas de texto visíveis. Os usuários devem ser capazes de inserir mais linhas do que isso, para que os agentes do usuário deve fornecer alguns meios para percorrer o conteúdo do controle quando o conteúdo se estende para além da área visível. Cols number CN Este atributo especifica a largura visível em larguras de caracteres médias. Os usuários devem ser capazes de inserir linhas mais longas do que isso, para que os agentes do usuário deve fornecer alguns meios para percorrer o conteúdo do controle quando o conteúdo se estende para além da área visível. Os agentes de usuário podem envolver linhas de texto visíveis para manter linhas longas visíveis sem a necessidade de rolagem. Atributos definidos em outro lugar O elemento TEXTAREA cria um controle de entrada de texto de várias linhas. Os agentes de usuário devem usar o conteúdo deste elemento como o valor inicial do controle e devem renderizar este texto inicialmente. Este exemplo cria um controle TEXTAREA que é 20 linhas por 80 colunas e contém duas linhas de texto inicialmente. O TEXTAREA é seguido por botões de envio e reset. A definição do atributo readonly permite que os autores exibam texto não modificável em um TEXTAREA. Isso difere de usar texto marcado padrão em um documento porque o valor de TEXTAREA é enviado com o formulário. 17.8 O elemento ISINDEX ISINDEX está obsoleto. Este elemento cria um controle de entrada de texto de linha única. Os autores devem usar o elemento INPUT para criar controles de entrada de texto. Veja a DTD Transicional para a definição formal. Texto de prompt CS Deprecated. Este atributo especifica uma string de prompt para o campo de entrada. Atributos definidos em outro lugar O elemento ISINDEX cria um controle de entrada de texto de linha única que permite qualquer número de caracteres. Os agentes de usuário podem usar o valor do atributo prompt como um título para o prompt. EXEMPLO DEPRECATED: A seguinte declaração ISINDEX: poderia ser reescrito com INPUT da seguinte forma: Semântica de ISINDEX. Atualmente, a semântica para ISINDEX são apenas bem-definidos quando o URI de base para o documento que o acompanha é um HTTP URI. Na prática, a seqüência de entrada é restrita a Latin-1 como não há nenhum mecanismo para o URI para especificar um conjunto de caracteres diferente. Alguns controles de formulário têm automaticamente etiquetas associadas a eles (botões de imprensa) enquanto a maioria não (campos de texto, caixas de seleção e botões de opção e menus). Para os controles que possuem rótulos implícitos, os agentes de usuário devem usar o valor do atributo value como a seqüência de caracteres de rótulo. O elemento LABEL é usado para especificar rótulos para controles que não possuem etiquetas implícitas, 17.9.1 O elemento LABEL para idref CS Esse atributo associa explicitamente o rótulo sendo definido com outro controle. Quando presente, o valor desse atributo deve ser igual ao valor do atributo id de algum outro controle no mesmo documento. Quando ausente, o rótulo sendo definido está associado ao conteúdo dos elementos. Atributos definidos em outro lugar O elemento LABEL pode ser usado para anexar informações aos controles. Cada elemento LABEL é associado com exatamente um controle de formulário. O atributo for associa explicitamente um rótulo a outro controle: o valor do atributo for deve ser igual ao valor do atributo id do elemento de controle associado. Mais do que um LABEL pode ser associado com o mesmo controle criando múltiplas referências através do atributo for. Este exemplo cria uma tabela que é usada para alinhar dois controles de entrada de texto e seus rótulos associados. Cada etiqueta é associada explicitamente com uma entrada de texto: Este exemplo estende um formulário de exemplo anterior para incluir elementos LABEL. Para associar um rótulo com outro controle implicitamente, o elemento de controle deve estar dentro do conteúdo do elemento LABEL. Neste caso, o LABEL pode conter apenas um elemento de controlo. O próprio rótulo pode ser posicionado antes ou depois do controle associado. Neste exemplo, implicitamente associar dois rótulos com dois controles de entrada de texto: Observe que essa técnica não pode ser usada quando uma tabela está sendo usada para layout, com o rótulo em uma célula e seu controle associado em outra célula. Quando um elemento LABEL recebe foco. Ele passa o foco para seu controle associado. Consulte a seção abaixo sobre chaves de acesso para obter exemplos. Os rótulos podem ser renderizados por agentes de usuário de várias maneiras (por exemplo, visualmente, lidos por sintetizadores de voz, etc.) 17.10 Adicionando estrutura a formulários: os elementos FIELDSET e LEGEND LEGENDA Definições de atributo align topbottomleftright CI Deprecated. Este atributo especifica a posição da legenda em relação ao fieldset. Valores possíveis: top: A legenda está no topo do campo. Este é o valor padrão. Bottom: A legenda está na parte inferior do fieldset. Left: A legenda está no lado esquerdo do fieldset. Right: A legenda está no lado direito do fieldset. Atributos definidos em outro lugar O elemento FIELDSET permite aos autores agrupar controles e rótulos relacionados de maneira temática. Agrupamento de controles torna mais fácil para os usuários a compreender a sua finalidade, simultaneamente, facilitando a navegação por tabulação para agentes de usuário visual e navegação de voz para agentes de usuário orientada a voz. A utilização adequada deste elemento torna os documentos mais acessíveis. O elemento LEGEND permite que os autores atribuam uma legenda a um FIELDSET. A legenda melhora a acessibilidade quando o FIELDSET é processado não visualmente. Neste exemplo, criamos um formulário que pode ser preenchido no consultório médico. Ele é dividido em três seções: informações pessoais, histórico médico e medicação atual. Cada seção contém controles para inserir as informações apropriadas. Note that in this example, we might improve the visual presentation of the form by aligning elements within each FIELDSET (with style sheets), adding color and font information (with style sheets), adding scripting (say, to only open the current medication text area if the user indicates he or she is currently on medication), etc. In an HTML document, an element must receive focus from the user in order to become active and perform its tasks. For example, users must activate a link specified by the A element in order to follow the specified link. Similarly, users must give a TEXTAREA focus in order to enter text into it. There are several ways to give focus to an element: Designate the element with a pointing device. Navigate from one element to the next with the keyboard. The documents author may define a tabbing order that specifies the order in which elements will receive focus if the user navigates the document with the keyboard (see tabbing navigation ). Once selected, an element may be activated by some other key sequence. Select an element through an access key (sometimes called keyboard shortcut or keyboard accelerator). tabindex number CN This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros. The tabbing order defines the order in which elements will receive focus when navigated by the user via the keyboard. The tabbing order may include elements nested within other elements. Elements that may receive focus should be navigated by user agents according to the following rules: Those elements that support the tabindex attribute and assign a positive value to it are navigated first. Navigation proceeds from the element with the lowest tabindex value to the element with the highest value. Values need not be sequential nor must they begin with any particular value. Elements that have identical tabindex values should be navigated in the order they appear in the character stream. Those elements that do not support the tabindex attribute or support it and assign it a value of 0 are navigated next. These elements are navigated in the order they appear in the character stream. Elements that are disabled do not participate in the tabbing order. In this example, the tabbing order will be the BUTTON. the INPUT elements in order (note that field1 and the button share the same tabindex, but field1 appears later in the character stream), and finally the link created by the A element. Tabbing keys. The actual key sequence that causes tabbing navigation or element activation depends on the configuration of the user agent (e. g. the tab key is used for navigation and the enter key is used to activate a selected element). User agents may also define key sequences to navigate the tabbing order in reverse. When the end (or beginning) of the tabbing order is reached, user agents may circle back to the beginning (or end). accesskey character CN This attribute assigns an access key to an element. An access key is a single character from the document character set. Nota. Authors should consider the input method of the expected reader when specifying an accesskey. Pressing an access key assigned to an element gives focus to the element. The action that occurs when an element receives focus depends on the element. For example, when a user activates a link defined by the A element, the user agent generally follows the link. When a user activates a radio button, the user agent changes the value of the radio button. When the user activates a text field, it allows input, etc. This example assigns the access key U to a label associated with an INPUT control. Typing the access key gives focus to the label which in turn gives it to the associated control. The user may then enter text into the INPUT area. In this example, we assign an access key to a link defined by the A element. Typing this access key takes the user to another document, in this case, a table of contents. The invocation of access keys depends on the underlying system. For instance, on machines running MS Windows, one generally has to press the alt key in addition to the access key. On Apple systems, one generally has to press the cmd key in addition to the access key. The rendering of access keys depends on the user agent. We recommend that authors include the access key in label text or wherever the access key is to apply. User agents should render the value of an access key in such a way as to emphasize its role and to distinguish it from other characters (e. g. by underlining it). In contexts where user input is either undesirable or irrelevant, it is important to be able to disable a control or render it read-only. For example, one may want to disable a forms submit button until the user has entered some required data. Similarly, an author may want to include a piece of read-only text that must be submitted as a value along with the form. The following sections describe disabled and read-only controls. disabled CI When set for a form control, this boolean attribute disables the control for user input. When set, the disabled attribute has the following effects on an element: This attribute is inherited but local declarations override the inherited value. How disabled elements are rendered depends on the user agent. For example, some user agents gray out disabled menu items, button labels, etc. In this example, the INPUT element is disabled. Therefore, it cannot receive user input nor will its value be submitted with the form. Nota. The only way to modify dynamically the value of the disabled attribute is through a script. readonly CI When set for a form control, this boolean attribute prohibits changes to the control. The readonly attribute specifies whether the control may be modified by the user. When set, the readonly attribute has the following effects on an element: Read-only elements receive focus but cannot be modified by the user. Read-only elements are included in tabbing navigation . Read-only elements may be successful . The following elements support the readonly attribute: INPUT and TEXTAREA . How read-only elements are rendered depends on the user agent. Nota. The only way to modify dynamically the value of the readonly attribute is through a script. The following sections explain how user agents submit form data to form processing agents. The method attribute of the FORM element specifies the HTTP method used to send the form to the processing agent. This attribute may take two values: get: With the HTTP get method, the form data set is appended to the URI specified by the action attribute (with a question-mark () as separator) and this new URI is sent to the processing agent. post: With the HTTP post method, the form data set is included in the body of the form and sent to the processing agent. The get method should be used when the form is idempotent (i. e. causes no side-effects). Many database searches have no visible side-effects and make ideal applications for the get method. If the service associated with the processing of a form causes side effects (for example, if the form modifies a database or subscription to a service), the post method should be used. Nota. The get method restricts form data set values to ASCII characters. Only the post method (with enctype multipart/form-data) is specified to cover the entire ISO10646 character set. A successful control is valid for submission. Every successful control has its control name paired with its current value as part of the submitted form data set. A successful control must be defined within a FORM element and must have a control name. Controls that are disabled cannot be successful. If a form contains more than one submit button. only the activated submit button is successful. All on checkboxes may be successful. For radio buttons that share the same value of the name attribute, only the on radio button may be successful. For menus. the control name is provided by a SELECT element and values are provided by OPTION elements. Only selected options may be successful. When no options are selected, the control is not successful and neither the name nor any values are submitted to the server when the form is submitted. The current value of a file select is a list of one or more file names. Upon submission of the form, the contents of each file are submitted with the rest of the form data. The file contents are packaged according to the forms content type . The current value of an object control is determined by the objects implementation. If a control doesnt have a current value when the form is submitted, user agents are not required to treat it as a successful control. Furthermore, user agents should not consider the following controls successful: Hidden controls and controls that are not rendered because of style sheet settings may still be successful. For example: will still cause a value to be paired with the name invisible-password and submitted with the form. When the user submits a form (e. g. by activating a submit button ), the user agent processes it as follows. Step one: Identify the successful controls Step two: Build a form data set The form data set is then encoded according to the content type specified by the enctype attribute of the FORM element. Finally, the encoded data is sent to the processing agent designated by the action attribute using the protocol specified by the method attribute. This specification does not specify all valid submission methods or content types that may be used with forms. However, HTML 4 user agents must support the established conventions in the following cases: If the method is get and the action is an HTTP URI, the user agent takes the value of action. appends a to it, then appends the form data set. encoded using the application/x-www-form-urlencoded content type. The user agent then traverses the link to this URI. In this scenario, form data are restricted to ASCII codes. If the method is post and the action is an HTTP URI, the user agent conducts an HTTP post transaction using the value of the action attribute and a message created according to the content type specified by the enctype attribute. For any other value of action or method. behavior is unspecified. User agents should render the response from the HTTP get and post transactions. The enctype attribute of the FORM element specifies the content type used to encode the form data set for submission to the server. User agents must support the content types listed below. Behavior for other content types is unspecified. This is the default content type. Forms submitted with this content type must be encoded as follows: Control names and values are escaped. Space characters are replaced by . and then reserved characters are escaped as described in RFC1738. section 2.2: Non-alphanumeric characters are replaced by HH. a percent sign and two hexadecimal digits representing the ASCII code of the character. Line breaks are represented as CR LF pairs (i. e. 0D0A ). The control names/values are listed in the order they appear in the document. The name is separated from the value by and name/value pairs are separated from each other by amp . Nota. Please consult RFC2388 for additional information about file uploads, including backwards compatibility issues, the relationship between multipart/form-data and other content types, performance issues, etc. Please consult the appendix for information about security issues for forms . The content type application/x-www-form-urlencoded is inefficient for sending large quantities of binary data or text containing non-ASCII characters. The content type multipart/form-data should be used for submitting forms that contain files, non-ASCII data, and binary data. The content multipart/form-data follows the rules of all multipart MIME data streams as outlined in RFC2045. The definition of multipart/form-data is available at the IANA registry. A multipart/form-data message contains a series of parts, each representing a successful control. The parts are sent to the processing agent in the same order the corresponding controls appear in the document stream. Part boundaries should not occur in any of the data how this is done lies outside the scope of this specification. As with all multipart MIME types, each part has an optional Content-Type header that defaults to text/plain. User agents should supply the Content-Type header, accompanied by a charset parameter. Each part is expected to contain: a Content-Disposition header whose value is form-data. a name attribute specifying the control name of the corresponding control. Control names originally encoded in non-ASCII character sets may be encoded using the method outlined in RFC2045 . Thus, for example, for a control named mycontrol, the corresponding part would be specified: As with all MIME transmissions, CR LF (i. e. 0D0A ) is used to separate lines of data. Each part may be encoded and the Content-Transfer-Encoding header supplied if the value of that part does not conform to the default (7BIT) encoding (see RFC2045. section 6) If the contents of a file are submitted with a form, the file input should be identified by the appropriate content type (e. g. application/octet-stream). If multiple files are to be returned as the result of a single form entry, they should be returned as multipart/mixed embedded within the multipart/form-data. The user agent should attempt to supply a file name for each submitted file. The file name may be specified with the filename parameter of the Content-Disposition: form-data header, or, in the case of multiple files, in a Content-Disposition: file header of the subpart. If the file name of the clients operating system is not in US-ASCII, the file name might be approximated or encoded using the method of RFC2045. This is convenient for those cases where, for example, the uploaded files might contain references to each other (e. g. a TeX file and its. sty auxiliary style description). The following example illustrates multipart/form-data encoding. Suppose we have the following form: If the user enters Larry in the text input, and selects the text file file1.txt, the user agent might send back the following data: If the user selected a second (image) file file2.gif, the user agent might construct the parts as follows:Sending and Receiving Binary Data Receiving binary data using JavaScript typed arrays The r esponseType property of the XMLHttpRequest object can be set to change the expected response type from the server. Possible values are the empty string (default), arraybuffer. blob. document. json. and text. The response property will contain the entity body according to responseType. as an ArrayBuffer. Blob. Document. JSON. or string. This is null if the request is not complete or was not successful. This example reads an image as a binary file and creates an 8-bit unsigned integer array from the raw bytes. Note that this will not decode the image and read the pixels. You will need a png decoding library for that. An alternative to the above method utilizes the Blob interface to directly construct a Blob with the arraybuffer data. Also you can read a binary file as a Blob by setting the string blob to the responseType property. Receiving binary data in older browsers The loadbinaryresource() function shown below loads binary data from the specified URL, returning it to the caller. The magic happens in line 5, which overrides the MIME type, forcing the browser to treat it as plain text, using a user-defined character set. This tells the browser not to parse it, and to let the bytes pass through unprocessed. The example above fetches the byte at offset x within the loaded binary data. The valid range for x is from 0 to filestream. length-1 . Receiving binary data anywhere jBinary library for working with binary data in JavaScript allows to load data from any source with automatically detected best supported way on current browser or Node. js: Sending binary data The send method of the XMLHttpRequest has been extended to enable easy transmission of binary data by accepting an ArrayBuffer. Blob. or File object. The following example sends creates a text file on-the-fly and uses the POST method to send the file to the server. This example uses plain text, but you can imagine the data being a binary file instead. Sending typed arrays as binary data You can send JavaScript typed arrays as binary data as well. This is building a 512-byte array of 8-bit integers and sending it you can use any binary data youd like, of course. Note: Support for sending ArrayBuffer objects using XMLHttpRequest was added to Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6). Add information about other browsers support here. Submitting forms and uploading files Firefox-specific examples This example transmits binary content asynchronously, using the POST method, and Firefoxs non-standard sendAsBinary() . Line 4 sets the Content-Length header to 741, indicating that the data is 741 bytes long. Obviously you need to change this value based on the actual size of the data being sent. Line 5 uses the sendAsBinary() method to initiate the request. Note: This non-standard sendAsBinary method is considered deprecated as of Gecko 31 (Firefox 31 / Thunderbird 31 / SeaMonkey 2.28) and will be removed soon. The standard send(Blob data) method can be used instead as explained above. You can also send binary content by passing an instance of the nsIFileInputStream to send(). In that case, you dont have to set the Content-Length header yourself, as the information is fetched from the stream automatically: Document Tags and Contributors
Comments
Post a Comment