Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php JQuery不更新隐藏字段_Php_Jquery - Fatal编程技术网

Php JQuery不更新隐藏字段

Php JQuery不更新隐藏字段,php,jquery,Php,Jquery,下面的代码应该更新表单提交上的一个隐藏字段,但它根本不更新,我很难知道为什么 代码段: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script src="/js/jquery.easing.1.3.js" type="text/javascript"></script>

下面的代码应该更新表单提交上的一个隐藏字段,但它根本不更新,我很难知道为什么

代码段:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="/js/jquery.easing.1.3.js" type="text/javascript"></script>
<script src="/js/jquery.slideviewer.1.2.js" type="text/javascript"></script>

更新按照建议更改了代码,请参见下文,但仍然没有乐趣-也尝试了img:按照建议先进行,但没有不同

<script type="text/javascript">
  $(document).ready(function(){
        $( "#wl_add" ).submit( function ( event ) { /* form name wl_add */
          $( this ).find( "input[name='item_pic_url']" )
                   .val( $( "#mygalthree img" ).attr( 'src' ) );
          } );
  });
</script>

<div id="mygalthree" class="svw"><ul>
<?PHP

foreach($html->find('img') as $e){ // from simple_html_dom

    $image = $e->src;

    echo '<li><img src="'.$image.'" width=300 alt="" /></li>';
    echo '<input type="hidden" name="item_pic_url" value="'.$image.'" />';

?>

</ul></div>

$(文档).ready(函数(){
$(“#wl_添加”).submit(函数(事件){/*表单名称wl_添加*/
$(this).find(“输入[name='item\u pic\u url']”)
.val($).attr('src');
} );
});

您应该在内部设置事件处理程序


$(函数(){
$(“#wl_添加”).submit(函数(事件){/*表单名称wl_添加*/
$(this).find(“输入[name='item\u pic\u url']”)
.val($).attr('src');
} );
});

否则,脚本将尝试将submit绑定到尚不存在的表单,因此您不会绑定并执行submit处理程序。

假设php循环多次运行,您将无法识别图像和输入,因为存在多个元素
$(“#mygaltree img”)
和多个
输入[name='item\u pic\u url']
因为所有输入都具有相同的名称

编辑:为了澄清这一点,如果您查看手册,您将看到:

.attr()方法仅获取匹配集中第一个元素的属性值

因此,在您的代码中:

 $( this ).find( "input[name='item_pic_url']" )
   .val( $( "#mygalthree img" ).attr( 'src' ) );
您正在将所有隐藏输入元素的值设置为第一幅图像的源。

尝试更改行:

$(this).find.....
致:

下面是一个通过jsfiddle的简单示例。

您是否尝试过单步执行提交处理程序?您是否确实知道它正在被调用?您能否显示发送到浏览器的HTML而不插入PHP代码?因为mygalthree div中有许多图像。请使用此..$(“#mygalthree img:first”).attr('src'))@jrummell我该怎么做呢?你能举个例子吗this@DarrenSweeney所有现代浏览器都配有javascript调试工具。例如,在Chrome中,您可以按F12打开开发人员工具,然后使用“脚本”选项卡在javascript中设置断点。这是jQuery如何工作的第一件事ode>页面:@archil谢谢..好的,将其更改为此,但仍然不会覆盖UL中最后一个图像的当前值
$(this).find.....
$('input[name="item_pic_url"]').val($('#mygalthree img').attr('src'));