1

I am using an onclick function in my html (so not a method, but the javascript code itself in the html button onclick event).

How do I add 2 statements in the 1 line after an IF statement, that is not surrounded by curly braces.

I want to do something like this

onclick="javascript: if ( days.value == '' ) alert('Please select at least 1 day to schedule this report') && return false;" 

I can't use the curly braces to enclose the two statements because I can't find any information on outputting a curly brace into a string in PHP (If i do, the output stops after the first curly brace)

My PHP looks like this:

$content["PREPEND"].= " onclick=\"javascript: if ( days.value == '' ) alert('Please select at least 1 day to schedule this report') && return false; \"";

I tried using the &&, but that doesnt work. Any advise appreciated!

4

5 回答 5

2

Javascript 代码与 PHP 代码无关。你可以使用任何你想要的牙套。

如果任何花括号出现问题 - 你只是把它们放在错误的方式。然后你必须纠正你的牙套,而不是寻找一些丑陋的方法来避免它们。

你知道,纠正错误在编程中是一项非常微不足道的任务。

如果确实是 PHP 代码确实干扰了您的 JS(我无法确定,因为您的问题中甚至没有发布一个 PHP 运算符),只需关闭 PHP 模式并按原样编写您的 JS,就好像它只是一个纯粹的HTML页面:

//some php
// then close it
?>
<a href="#" onclick='javascript: if ( days.value == "" ) { alert("Please select at least 1 day to schedule this report"); return false; }'>
<?php
// open PHP back

如果您在 JS 中需要一些 PHP 值 - 再次打开 PHP:

//some php
$var = "test";
// then close it
?>
<a href="#" onclick='javascript: if ( days.value == "<?=$var?>" ) { alert("Please select at least 1 day to schedule this report"); return false; }'>
<?php
// open PHP back
于 2012-04-23T07:59:41.157 回答
1

未经测试,您是否尝试过反转引号(将双打变成单打,将单打变成双打)?PHP 对待使用双引号创建的字符串与使用单引号创建的字符串不同...

onclick='javascript: if ( days.value == "" ) { alert("Please select at least 1 day to schedule this report"); return false; }' 
于 2012-04-23T08:01:01.807 回答
0

首先,这是一种不好的做法。但是如果返回 false,您可以添加重复项

于 2012-04-23T07:58:59.910 回答
0

将这两个语句放入一个 javascript 函数中,然后在 if 语句中调用该函数。

于 2012-04-23T08:00:47.057 回答
0

“我不能使用大括号括起来这两个语句,因为我找不到任何关于将大括号输出到 PHP 中的字符串的信息(如果我这样做了,输出会在第一个大括号之后停止)” - 可以你只是打印'{...}'打印一个花括号吗?

于 2012-05-02T12:48:22.830 回答