【问题标题】:PHP js Function after onmouse=" throwing error uncaught syntax }onmouse =“抛出错误未捕获语法}后的PHP js函数
【发布时间】:2018-03-08 08:42:04
【问题描述】:

这里是代码

<video title='{$row['title']} {$row['locate']}' 
   class='vidscrollclass' 
   style='position:absolute; top:0%; left:0%; width:100%; height:100%; transform: scale(1.0,1.1); z-index:103;' no-controls  
   preload='metadata' 
   ondblclick='
      document.getElementById([$vid]).submit(); 
      return false;' 
   onmouseover='
      document.getElementById([$vid]).addEventListener('touchstart', tapHandler); 
        var tapedTwice = false; 
        function tapHandler(event){
          if(!tapedTwice) { 
             tapedTwice = true; 
             setTimeout( function() { tapedTwice = false; }, 300 ); 
                 return false;
          }
          document.getElementById([$vid]).submit(); 
          return false;
        }'
>

由于某种原因,它不断抛出相同的错误。 iv 检查了语法,一切正常。相同的功能适用于 php。但是在php中它会抛出错误

Uncaught SyntaxError: Unexpected token }

如果有人能看出问题所在,我将非常感谢您的意见。

【问题讨论】:

  • 在 youronmouseover 中是等号后的单引号。这只是一个错字吗?如果不是,它将在.addEventListener(' 出错。使用双引号分隔逻辑。
  • 将一大堆 JavaScript 塞进一个属性中。不要那样做。将其移至函数中,因为这有助于为其提供喘息的空间并避免引号冲突,这就是这里的问题。如果使用' 引用,则必须转义所有内部' 字符或使用" 作为替代。
  • 它在 PHP 中我假设引号必须是 ' 而不是 php 中的 "
  • 好的。但我无法得到真正的 $vid 范围.. 但我会尝试转义/。
  • 我如何逃避内部的 - 我只知道使用 /

标签: javascript php syntax


【解决方案1】:
echo"                                      

            <div style='position:absolute; top:5%; left:{$x}%; width:20%; height:95%; z-index:100;' >


<img src='videobak.png' style='position:absolute; top:-30%; left:-30%; width:170%; height:162%; z-index:101; '>


            <div style='position:absolute; top:5%; left:-15%; width:125%; height:80%; border-style: ridge; 5vw; border-color:{$c}; border-radius: 5vw; background-color:black; overflow:hidden; z-index:102;'>


            <img id='waiter' class='loaderlogo' src='loadinglogo.png' >


                     <video id='$vidd' title='{$row['title']} {$row['locate']}' class='vidscrollclass' style='position:absolute; top:0%; left:0%; width:100%; height:100%; transform: scale(1.0,1.1); z-index:103;' no-controls  preload='metadata' onmouseover='tr($vidd , $vid);' ondblclick='document.getElementById([$vid]).submit(); return false;' > 


                     <source src='vid/{$genre}/{$row['videos']}' type='video/mp4' >
                      <source src='vid/{$genre}/{$row['videos']}' type='video/mp4' >
                       <source src='vid/{$genre}/{$row['videos']}' type='video/mp4' >


                       <div style='position:absolute;top:4%; left:4%; width:94%;height:94%;color:white; background-color:red;'><marquee WIDTH=500 HEIGHT=20>---Your browser does not support the video player --Either update your plugins or browser or for best results USE CHROME - CHROMIUM - CHROME CANARY or FIRE FOX BROWSERS for compatibilty assurance---</marquee></div>


                     </video >


        <form id='$vid' action='mainpagesalesvidsphp.php' target='YTiframe' method='POST' enctype='multipart/form-data';>

        <input id='val1' type='hidden' type='text' name='video' value='{$vid}' >

         <input id='val2' type='hidden' type='text' name='genre' value='{$genre}' >

        <input id='val3' type='hidden' type='text' name='search' value='{$search}' >

        <input type='hidden' type='submit' value='POST'>

        </form>

    </div> 

</div>";
$x=$x+33;

}
$wid=$x; //might need ammending according to math...
?>

<script>

function tr(e , f){
    console.log('yup recieve',e , f)
document.getElementById(e).addEventListener("touchstart", tapHandler); var tapedTwice = false;
  function tapHandler(event) {if(!tapedTwice) {tapedTwice = true;setTimeout( function() { tapedTwice = false; }, 300 );return false;}
  how();

  function how(){
      console.log('sending to',f)
  document.getElementById(f).submit(); return false;} 

  }; 

};
</script>

【讨论】:

  • 谁需要json。
  • onmouseover='tr($vidd , $vid);'
  • 函数 tr(e , f)
  • document.getElementById(e).addEventListener
  • document.getElementById(f).submit();
猜你喜欢
  • 2015-10-05
  • 2018-08-09
  • 2015-06-29
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
相关资源
最近更新 更多