Renan Morais 2 Postado Novembro 12, 2017 Share Postado Novembro 12, 2017 Salve galera, poderiam me ajudar por favor? Eu gostaria de ocultar o campo "Gênero" na criação de personagens, que atualmente está assim: Sendo assim, ao selecionar uma vocação e clicar no botão "Create", o gênero deverá ser escolhido de acordo com a vocação, por exemplo: Se for Goku, Vegeta, Trunks... o gênero será masculino; Se for Bulma, Pan, Videl... o gênero será feminino. Segue o create_character.php: Spoiler <?php echo "<div class='errors'>"; echo error(validation_errors()); echo "</div>"; echo form_open('character/create_character', array('id'=>'createCharacter')); ?> <script> function createCharacter() { $('.loader').show(); var form = $('#createCharacter').serialize(); $.ajax({ url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1', type: 'post', data: form, success: function(data) { $('.errors').html(data); $('.loader').hide(); } }); } </script> <link rel="stylesheet" type="text/css" href="<?php echo WEBSITE; ?>/public/css/keyboard.css"> <div class='message'> <div class='title'>Criar Novo Personagem</div> <br/> <div class='content'> <fieldset id="fundo_claro"> <label>Nome:</label><input type='text' value="<?php echo set_value('name'); ?>" name='name'><br> <label>Vocação:</label><select name='vocation'> <?php foreach($vocations as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } ?> </select><br> <label>Cidade:</label><select name='city'> <?php foreach($cities as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } ?> </select><br> <label>Gênero:</label><select name='sex'> <option value="1">Masculino</option> <option value="0">Feminino</option> </select><br> <label>World:</label><select name='world'> <?php foreach($worlds as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } ?> </select><br> </fieldset> <br> <center><input type='submit' value='Criar' name='submit' class='sub'/> </center><?php echo loader();?> </div></div> </form> Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/ Compartilhar em outros sites More sharing options...
0 Kydrai 146 Postado Novembro 15, 2017 Share Postado Novembro 15, 2017 @dalvorsn Não recomendo dessa forma, assim os players poderiam burlar fácil editando o html, precisando de outras formas de verificação. Você precisa tirar o select, como já disseram, e editar a função create_character no arquivo system\application\controllers\character.php. La tem um comando assim (ou parecido): $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');, ele verifica o sexo do personagem. Antes desse comando você pode fazer algo assim (não testei): if (in_array($_POST['vocation'], array(1, 2, 3, 4))) { $_POST['sex'] = 0; } else if (in_array($_POST['vocation'], array(5, 6, 7, 8))) { $_POST['sex'] = 1; } else { $_POST['sex'] = -1; } Dessa forma, se a vocação escolhida for 1, 2, 3 ou 4 terá o sex 0 (feminino), se for 5, 6, 7, 8 terá o sex 1 (masculino). Caso não seja nenhum desses dará erro de sexo inválido e não criará o personagem. Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723728 Compartilhar em outros sites More sharing options...
0 Sakegari 71 Postado Novembro 13, 2017 Share Postado Novembro 13, 2017 (editado) Basta tirar essa parte: <label>Gênero:</label><select name='sex'> <option value="1">Masculino</option> <option value="0">Feminino</option> </select><br> Tenho quase certeza que se você tirar essa parte, na hora que o player criar seu personagem ele vai vir com a configuração base do personagem (sample).. Editado Novembro 13, 2017 por Behmen Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723681 Compartilhar em outros sites More sharing options...
0 Renan Morais 2 Postado Novembro 13, 2017 Autor Share Postado Novembro 13, 2017 (editado) 5 horas atrás, Behmen disse: Basta tirar essa parte: <label>Gênero:</label><select name='sex'> <option value="1">Masculino</option> <option value="0">Feminino</option> </select><br> Tenho quase certeza que se você tirar essa parte, na hora que o player criar seu personagem ele vai vir com a configuração base do personagem (sample).. Não deu certo, o site obriga selecionar o gênero mesmo sem essas tags no código PHP, o site retorna a seguinte mensagem: The Sex field is required. Infelizmente não está pegando da base dos personagens (sample) =/ Possui alguma outra ideia? Editado Novembro 13, 2017 por Renan Morais Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723686 Compartilhar em outros sites More sharing options...
0 dalvorsn 268 Postado Novembro 14, 2017 Share Postado Novembro 14, 2017 Remove o select de genero e altera o script de submissão. function createCharacter() { $('.loader').show(); var form = $('#createCharacter').serialize(); form.sex = 0; if($.inArray(parseInt(form.vocation), [1,2,3]) != -1 ) { form.sex = 1; } $.ajax({ url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1', type: 'post', data: form, success: function(data) { $('.errors').html(data); $('.loader').hide(); } }); } Supondo que as vocações que são masculinas sejam 1, 2 e 3 Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723709 Compartilhar em outros sites More sharing options...
0 Renan Morais 2 Postado Novembro 14, 2017 Autor Share Postado Novembro 14, 2017 4 horas atrás, dalvorsn disse: Remove o select de genero e altera o script de submissão. function createCharacter() { $('.loader').show(); var form = $('#createCharacter').serialize(); form.sex = 0; if($.inArray(parseInt(form.vocation), [1,2,3]) != -1 ) { form.sex = 1; } $.ajax({ url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1', type: 'post', data: form, success: function(data) { $('.errors').html(data); $('.loader').hide(); } }); } Supondo que as vocações que são masculinas sejam 1, 2 e 3 Removi o select de gênero e substitui a function, mas infelizmente não funcionou... =/ O site ainda apresenta a seguinte mensagem: The Sex field is required. Identei o código pra ficar mais fácil a visualização, mas atualmente está assim: Spoiler <?php echo "<div class='errors'>"; echo error(validation_errors()); echo "</div>"; echo form_open('character/create_character', array('id'=>'createCharacter')); ?> <script> function createCharacter() { $('.loader').show(); var form = $('#createCharacter').serialize(); form.sex = 0; if($.inArray(parseInt(form.vocation), [1,17,32]) != -1 ) { form.sex = 1; } $.ajax({ url: '<?php echo WEBSITE; ?>/index.php/character/create_character/1', type: 'post', data: form, success: function(data) { $('.errors').html(data); $('.loader').hide(); } }); } </script> <link rel="stylesheet" type="text/css" href="<?php echo WEBSITE; ?>/public/css/keyboard.css"> <div class='message'> <div class='title'>Criar Novo Personagem</div> <br/> <div class='content'> <fieldset id="fundo_claro"> <label>Nome:</label> <input type='text' value="<?php echo set_value('name'); ?>" name='name'><br> <label>Vocação:</label> <select name='vocation'> <?php foreach($vocations as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } ?> </select> <br> <label>Cidade:</label> <select name='city'> <?php foreach($cities as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } ?> </select> <br> <label>Mundo:</label> <select name='world'> <?php foreach($worlds as $key=>$value) { echo '<option value="'.$key.'">'.$value.'</option>'; } ?> </select> <br> </fieldset> <br> <center> <input type='submit' value='Criar' name='submit' class='sub'/> </center> <?php echo loader();?> </div> </div> </form> Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723714 Compartilhar em outros sites More sharing options...
0 Renan Morais 2 Postado Novembro 15, 2017 Autor Share Postado Novembro 15, 2017 1 hora atrás, Kydrai disse: @dalvorsn Não recomendo dessa forma, assim os players poderiam burlar fácil editando o html, precisando de outras formas de verificação. Você precisa tirar o select, como já disseram, e editar a função create_character no arquivo system\application\controllers\character.php. La tem um comando assim (ou parecido): $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');, ele verifica o sexo do personagem. Antes desse comando você pode fazer algo assim (não testei): if (in_array($_POST['vocation'], array(1, 2, 3, 4))) { $_POST['sex'] = 0; } else if (in_array($_POST['vocation'], array(5, 6, 7, 8))) { $_POST['sex'] = 1; } else { $_POST['sex'] = -1; } Dessa forma, se a vocação escolhida for 1, 2, 3 ou 4 terá o sex 0 (feminino), se for 5, 6, 7, 8 terá o sex 1 (masculino). Caso não seja nenhum desses dará erro de sexo inválido e não criará o personagem. Resolvido, muito obrigado a todos que contribuíram! No arquivo character.php deixei a validação das vocações da seguinte forma: if (in_array($_POST['vocation'], array(140,256,280,364))) { $_POST['sex'] = 0; } else { $_POST['sex'] = 1; } E neste mesmo arquivo, tive que remover (deixei apenas em comentário) a checagem de gênero: /*$this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');*/ Pois mesmo com a validação das vocações, o site ainda apresentava a mensagem: The Sex field is required. Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723733 Compartilhar em outros sites More sharing options...
0 VictorWEBMaster 369 Postado Novembro 16, 2017 Share Postado Novembro 16, 2017 A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico. Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723760 Compartilhar em outros sites More sharing options...
0 VictorWEBMaster 369 Postado Novembro 16, 2017 Share Postado Novembro 16, 2017 Tópico movido de Websites para Resolvidos. Fique atento às regras do fórum. Link para o comentário https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/#findComment-1723761 Compartilhar em outros sites More sharing options...
Pergunta
Renan Morais 2
Salve galera, poderiam me ajudar por favor?
Eu gostaria de ocultar o campo "Gênero" na criação de personagens, que atualmente está assim:
Sendo assim, ao selecionar uma vocação e clicar no botão "Create", o gênero deverá ser escolhido de acordo com a vocação, por exemplo:
Se for Goku, Vegeta, Trunks... o gênero será masculino;
Se for Bulma, Pan, Videl... o gênero será feminino.
Segue o create_character.php:
Link para o comentário
https://xtibia.com/forum/topic/246609-resolvido-selecionar-g%C3%AAnero-de-acordo-com-voca%C3%A7%C3%A3o-ao-criar-personagens/Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados