0
我有以下形式:隱藏和顯示領域
<fieldset id="upload-form">
<ul>
<li>
<div class="radio-list clearfix">
<ul>
<li><label for="r1"><input type="radio" name="category" id="r1" value="34" checked="checked" /> Discussion</label></li>
<li><label for="r2"><input type="radio" name="category" id="r2" value="35" /> Question</label></li>
<li><label for="r3"><input type="radio" name="category" id="r3" value="36" /> Code</label></li>
<li><label for="r4"><input type="radio" name="category" id="r4" value="37" /> Link</label></li>
</ul>
</div>
</li>
<li>
<label for="title">Title <span>required & make it descriptive</span></label>
<input id="title" type="text" name="title" />
</li>
<li>
<label for="url">URL <span>don't forget the http://</span></label>
<input id="url" type="text" name="url" placeholder="http://" />
</li>
<li>
<label for="topic">Discussion topic</label>
<textarea id="topic" name="topic"></textarea>
</li>
<li>
<label for="question">Your question <span>help text</span></label>
<textarea id="question" name="question"></textarea>
</li>
<li>
<label for="description">Description <span>help text</span></label>
<textarea id="description" name="description"></textarea>
</li>
<li>
<label for="code">Code</label>
<textarea id="code" name="code"></textarea>
</li>
<li>
<label for="tags">Tags <span>separate multiple tags with commas</span></label>
<textarea id="tags" name="tags"></textarea>
</li>
<li>
<label class="public" for="public"><input id="public" type="checkbox" name="public" /> Make this post public? <span>(non-members will be able to view this post)</span></label>
</li>
<li class="clearfix">
<input class="submit" type="submit" name="" value="Post" />
<input class="cancel" type="button" value="Cancel" onclick="window.location.href='<?php bloginfo('url'); ?>/posts'" />
</li>
</ul>
</fieldset>
會發生什麼事是當用戶選擇一個單選按鈕,它會隱藏窗體頂部或顯示某些字段與那個類別有關。因此,例如對於鏈接類別,唯一使用的字段是標題,URL和描述。
我打算使用jQuery隱藏和顯示字段,但服務器端代碼呢?就好像用戶開始填寫字段但後來決定更改類別,我不希望他們發佈錯誤的字段等。我該如何做到這一點?
我使用的是WordPress,表單使用PHP編碼。以下是一些示例代碼,說明表單如何獲取發佈信息並將其保存到數據庫。謝謝。
<?php
/* Template Name: New Post */
if(isset($_POST['new_post']) == '1')
{
$post_title = $_POST['post_title'];
$post_category = $_POST['cat'];
$post_content = $_POST['post_content'];
$post_timelimit = $_POST['timelimit'];
$new_post = array(
'ID' => '',
'post_author' => $user->ID,
'post_content' => $post_content,
'post_title' => $post_title,
'post_status' => 'publish',
'tax_input' => array('timelimit' => $post_timelimit)
);
$post_id = wp_insert_post($new_post);
// tags have to be added seperate? :/
wp_set_post_tags($post_id, $_POST['post_tags']);
// This will redirect you to the newly created post
$post = get_post($post_id);
wp_redirect($post->guid);
}
get_header();
?>
這個php需要更新表單,沒有任何輸入被查看。 $ _POST應與表單輸入的名稱匹配。 – Jacob 2011-02-13 23:31:07
這是示例代碼,我從來沒有說過它是實際的形式代碼! – Cameron 2011-02-14 00:19:16