Personally, I would just use a SP form. Creating the cascading drop down wouldn't be too hard to do. I've used this many times and it is effective. Use SPServices.SPCascadingDropdowns for this. The code piece I generally use is this:
<script type="text/javascript">
$(document).ready(function(){
$().SPServices.SPCascadeDropdowns({
relationshipList: """Assignment Type",
relationshipListParentColumn: """Assignment Category",
relationshipListChildColumn: """Title",
parentColumn: """Assignment Category",
childColumn: """Assignment Type",
debug: true
})
})
</script>
Make sure you include a reference to the SPServices library as well
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.SPServices/2014.01/jquery.SPServices.min.js"></script>
As for having a field hidden unless a specific choice is selected is that completely necessary or can it just be blank? You could just set this up by having it blank fairly easily. If you wanted it to be hidden you would have to do some development.
Here's a couple of examples on how to use SPServices.SPCascadingDropdowns as well:
http://www.codeproject.com/Tips/758909/Two-Level-Cascading-Drop-Down-in-SharePoint-using http://www.uccorner.com/332/sharepoint/cascading-drop-down-multiple-levels/
Edit:
In your case, if you want to add the two fields for a cascading drop down:
- Create list named Assignment Category
- This list only contains the Title field. Insert all of your choices for Assignment Category.
- Create list named Assignment Type
- Add a field that is a lookup to Assignment Category. Insert all of your choices for Assignment Type in the title field and link them to the appropriate Category.
- Add lookup fields to your main list for Assignment Category and Assignment Type pointing at the title of their own respective lists.
- Go into SP Designer and find the main list. Find the NewForm form.
- After this line:
<asp:Content ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">
enter the script from above.
- I updated the script, you may have to alter the names a little bit but should be close.
Hopefully that works for you, if not let me know.