我有一个带有导航列表的脚本(星期一到星期日),我想根据哪一天有“活动”类来更改按钮的名称。我知道如何选择具有活动类的元素(以及如何更改类)。要接收活动类的名称,请使用以下代码:
var day=$('#navi ul li a.active').html();
但是我无法更改提交按钮的名称。我试过这个:
$('#loadStandard').name = $('#loadStandard').name + "_" + day;
这没有任何改变。我也尝试过:
$('#loadStandard').name= "bla";
但它没有用。根据{{3}},这是正确的语法。我的表格如下:
<form action="<?php echo plugins_url('plugin_directory/my_plugin.php'); ?>" method="post">
<input type="submit" name="loadStandard" class="loadStandard" id="loadStandard" value="Load standard values">
</form>
我想更改按钮的名称,以便在php脚本中创建不同的if语句。有点像这样:
if (isset($_POST['loadStandard_monday'])) {
do something;
}
elseif(isset($_POST['loadStandard_tuesday'])){
do something else;
}
甚至可能吗?我究竟做错了什么?请帮我提供一些提示,链接或代码片段!
答案 0 :(得分:1)
与提及的评论一样,您需要使用.attr('name', day)
。
或者我可以建议您只使用隐藏值吗?
<input type="hidden" name="loadStandard[day]" id="loadStandard_day" value="" />
$('#loadStandard_day').val(day);
<?php
if ($_POST['loadStandard']['day'] == '...')
//...
答案 1 :(得分:1)
奇怪的方法。你可以这样做:
var day=$('#navi ul li a.active').html(),
submit_name = $('#loadStandard').attr('name');
$('#loadStandard').attr('name', submit_name+ "_" + day);
如果你使用一些隐藏的字段会更好:
<input type="hidden" name="day" id="id-day" value=""/>
var day=$('#navi ul li a.active').html();
$('#id-day').val(day);
并在服务器端:
switch($_POST['day']) {
case "sunday":
...
break;
case "monday":
...
break;
...
}