加载jquery函数时,已经预先单击了表单发送按钮

时间:2012-09-20 04:47:00

标签: php jquery

假设a,b,c结果是通过回显$scname变量从数据库动态生成的,而showtablesconclick上是三角形的。但是,除了第一次点击之外,当我点击任何a,b ,c结果时,表单上的发送按钮似乎总是被点击。

我的Php代码在这里:

   echo "<a  href='#$name' style='margin-left: 30px' onclick=showtablesc();>$scname</a><br>";

html到这里..

 <table id="jobs" style="display:none"  bgcolor="#0099FF" align="center"

     <tr  ><td> j tittle</td><td><input type="text" name="tittle" /></td></tr>
     <tr ><td><input type='button' value='send'  id="send"  /></td> </tr>
    </table>

jquery函数在这里

function showtablesc(){

$('#jobs').show('fast');
$('#send').click(function(){
    $('#send').replaceWith("<em>sending...</em>");

    });

}

3 个答案:

答案 0 :(得分:1)

看起来你的tr有类“工作”而你的按钮呢。这意味着JQuery将对两者执行单击操作,并且您的tr首先排队处理它。

答案 1 :(得分:0)

echo "<a  href=\"#$name\" class=\"my-link\" style=\"margin-left: 30px\">$scname</a><br />";

$(document).ready(function(){

    $('a.my-link').click(function(){
        $('#jobs').show('fast').find('em').replaceWith('<input type="button" value="Send" class="jobs" />');
    });

    $('#jobs').on('click','input.jobs',function(){   
        $(this).replaceWith("<em>sending...</em>");   
    });   

});

答案 2 :(得分:0)

HTML块更改为此

<table id="jobs_table" style="display:none"  bgcolor="#0099FF" align="center">

 <tr class="jobs" >
    <td> j tittle</td>
    <td><input type="text" name="tittle" /></td>
 </tr>
 <tr >
    <td><input type='button' value='send'  class="jobs_button"/></td> 
 </tr>
</table>

您的Jquery

function showtablesc(){
   $('.jobs_button').removeAttr("id");

   $('.jobs_button').attr('id', 'send');
   $('#jobs_table').show('fast');
   $('#send').click(function(){
       $('#send').replaceWith("<em>sending...</em>");
   });
}