我想从textarea获取一个使用onkeypress事件的属性

时间:2015-03-20 21:45:34

标签: javascript php

我有以下代码:

<div>
    <form name="comentario" id="<?php echo $id?>" action="funcion_enviar_comentario.php" method="post">
        <input hidden="hidden" type="text" id="inputid" name="inputid" value="<?php echo $id?>">
        <textarea  class=estilotextarea1 id="comentario<?php echo $id?>" onkeypress="process1(event,this)" name="<?php echo $id?>" placeholder="Introduce tu comentario aquí..."></textarea>
        <script>
            function process1(e) {
              //var ide= document.getElementById("comentario <?php echo $id?>").name;
              //var submit= document.getElementById("enviado<?php echo $id?>").
              var code = (e.keyCode ? e.keyCode : e.which);
              if (code == 13) { 
                $('form#comentario<?php echo $id?>').submit();

               }
            }
        </script>
    </form>       
</div>

我希望函数process1从textarea中获取它触发事件的属性名称(此代码在查询中是PHP内部)以将其存储在变量中,以便我可以使用该变量提交表单中的id匹配变量。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你可以使用这样的东西:

<div>
                <form name="comentario" id="1" action="funcion_enviar_comentario.php" method="post">
                <input hidden="hidden" type="text" id="inputid" name="inputid" value="1">
                <textarea  class=estilotextarea1 id="comentario1" onkeypress="process1(event,this.id)" name="1" placeholder="Introduce tu comentario aquí..."></textarea>

            </form>       
</div>

 <div>
                <form name="comentario" id="2" action="funcion_enviar_comentario.php" method="post">
                <input hidden="hidden" type="text" id="inputid" name="inputid" value="2">
                <textarea  class=estilotextarea1 id="comentario2" onkeypress="process1(event,this.id)" name="1" placeholder="Introduce tu comentario aquí..."></textarea>

            </form>       
</div>   

JQuery的:

  function process1(e,id) {

          var code = (e.keyCode ? e.keyCode : e.which);
          if (code == 13) { 

                    alert('form #'+id);

           $('form #'+id).parent('form').submit();

            }
          }

所以,process1,不应该在循环内部,你可以通过将其作为参数传递给函数轻松获取id ... DEMO:http://jsfiddle.net/msgosoaL/1/

而且,最后一行说明 - 您无法提交textarea,因此您需要定位父表单...